1、picker从后台动态取值
<picker bindchange="bindPickerChange" value="{{index}}" range="{{array}}">
<view class="picker">
区域:{{objectArray[index].name}}
</view>
</picker>
array: ['环翠区', '高区', '经区', '其他'],
objectArray: [
{
id: 12,
name: '环翠区'
},
{
id: 13,
name: '高区'
},
{
id: 14,
name: '经区'
},
{
id: 15,
name: '其他'
}
],
},
bindPickerChange: function(e) {
console.log('picker发送选择改变,携带值为', tobjectArray[e.detail.value]) //这个值只是角标的顺序值
console.log('picker发送选择改变,携带值为', this.data. objectArray[e.detail.value].id) //这样才能取到真正的ID值
}
2、wx.request从后台取值成功不能用 that.setData({.......})会报错"this.setData is not a function;at api request success callback function"
必须写成var
that=
this
;
完整例子:
3、界面A.wxml参数值传递
4、小程序参数传值
现在已知传递参数的方法只找到三种,先总结下:
1.APP.js
我把常用且不会更改的参数放在APP.js的data里面了.在各个page中都可以拿到var app = getApp();
app上就可以拿到存在data中的参数.
2. wx.navigateTo({})中URL携带参数
demo中已经写出:
wx.navigateTo({
url: "../newpage/newpage?infofromindex=" + this.data.infofromindex,
});
传值:在navigator的属性url后拼接?id(参数名字)=要传递的值 (如果多个参数用&分开 &name=value&.......)
3.wx.setStorage(OBJECT) 数据缓存
微信开发文档中的数据缓存方法:
①存储数据
try {
wx.setStorageSync('infofrominput', this.data.infofrominput)
} catch (e) {
}
②获取数据
//获取
wx.getStorage({
key: 'infofrominput',
success: function (res) {
_this.setData({
infofromstorage: res.data,
})
}
})
5、从一个JS引用另一个JS中的方法
先在当前JS中引用
var fileData = require('../../utils/data.js')
被引用的js需要暴露接口才可以被引用到,不然会报{{page}}错误
/*
* 对外暴露接口
*/
module.exports = {
getBannerData : getBannerData,
getpockrooms:getpockrooms
}