index.wxml
< picker mode= "selector" bindchange= "bindPickerChange" value= "{{index}}" range= "{{array}}" >
{{array[index] }}< /picker>
index.js
Page({ data: { array: ['请选择', '1','2'], index: 0 }, onLoad: function () { }, bindPickerChange: function (e) { var that = this; that.setData({ index: e.detail.value }) console.log(that.data.array[that.data.index]); } })
在页面中这样写,点击后就可以更新选项
这个picker有很多地方要用,当我想把这个picker提取为template时
template.wxml
{{array[index]}}
< picker mode= "selector" bindchange= "bindPickerChange" value= "{{index}}" range= "{{array}}" >
{{array[index] }}
< /picker>
index.wxml
index.js Page({ data: { array: ['请选择', '1','2'], index: 0 }, onLoad: function () { }, bindPickerChange: function (e) { var that = this; that.setData({ index: e.detail.value }) console.log(that.data.array[that.data.index]); } })
在index.wxml页面点击picker后就获得不到数据了bindPickerChange 发生了改变,获取到了值,但是UI没更新。
但是 picker的range值 和 value 值 都获取到了, 只有UI 就是 {{array[index]}}没改变
只有在页面初始化的时候 {{array[0]}}{{array[1]}}或其他把索引写死的才能获取到值
点击后却不能获取到
我看了模板的官方文档
是这么解释:
模板的作用域
模板拥有自己的作用域,只能使用 data 传入的数据以及模版定义文件中定义的 模块。
所以是在不刷新页面的情况下 模板里面的事件不能提交数据到index.js后获取数据,然后获取到更新的数据 更新UI吗?
微信小程序开发者回答:
赵***:
兮***:
感谢楼上
兮***:系统记录
本文网址:http://www.91bianli.com/weixinxiaochengxu/27929.html