一:动态设置导航条
分享者:HaiJing1995,来自原文地址
我们知道微信小程序中设置导航条可以直接在json文件中设置 "navigationBarTitleText" = "String" 就可以了
但是我们有时可能需要根据不同的情况动态设置导航条。
微信小程序给我们提供了一个方法
-
setNavigationBarTitle({
-
title: "string",
-
success: funciton(res){
-
...
-
}
-
})
注意这个setNavigationBarTitle方法一定要写在onReady方法中,因为这是页面才完全渲染完成。通常在onLoad中我们是不能对UI进行操作的。
setNavigationBarTitle方法中的title如果我们像这样设置静态字符串的话是起不到动态设置导航条的作用 的。 我们可以从onLoad中获取到一个动态变量,那如何将这个变量从onLoad中传递给onReady方法呢? 我们可以在onLoad中通过this.setData({key: value})将这个变量传递给data,在onReady中再通过this.data.key获得这个变量。
二:动态加载数据
分享者:冉然,来自原文地址 1、首先要写在js里定义一个全局变量
-
data: {
-
datalist: []
-
},
2、请求数据加载,获得整个数组信息
-
wx.request({
-
url: httpUrl,
-
data: {},
-
success: function (res) {
-
that.setData({
-
datalist: res.data.courses
-
})
-
},
3、在.wxml中调用 数组的调用用:wx:for="{{datalist}}" 数组中的单个变量调用用:{{item.courseTitle}} 数组中有域名的单个变量的调用用:https://360fast-edu.com{{item.pictureUrl}}
三:用ES6Promise.all批量上传文件
分享者:马小云,来自原文地址 客户端
-
Page({
-
onLoad: function() {
-
wx.chooseImage({
-
count: 9,
-
success: function({ tempFilePaths }) {
-
var promise = Promise.all(tempFilePaths.map((tempFilePath, index) => {
-
return new Promise(function(resolve, reject) {
-
wx.uploadFile({
-
url: 'https://www.mengmeitong.com/upload',
-
filePath: tempFilePath,
-
name: 'photo',
-
formData: {
-
filename: 'foo-' + index,
-
index: index
-
},
-
success: function(res) {
-
resolve(res.data);
-
},
-
fail: function(err) {
-
reject(new Error('failed to upload file'));
-
}
-
});
-
});
-
}));
-
promise.then(function(results) {
-
console.log(results);
-
}).catch(function(err) {
-
console.log(err);
-
});
-
}
-
});
-
}
-
});
服务端
-
<?php
-
use IlluminateHttpRequest;
-
Route::post('/upload', function (Request $request) {
-
if ($request->photo->isValid()) {
-
$request->photo->storeAs('images/foo/bar/baz', $request->filename . '.' . $request->photo->extension());
-
return ['success' => true, 'index' => $request->index];
-
}
-
});
|