微信小程序setData()方法的使用
官方解釋:
setData 函數(shù)用于將數(shù)據(jù)從邏輯層發(fā)送到視圖層(異步),同時(shí)改變對(duì)應(yīng)的 this.data 的值(同步)。
自己通俗的理解就是給數(shù)據(jù)復(fù)制用的,
結(jié)合一個(gè)demo說下setdata的使用
?
不如點(diǎn)擊確定按鈕把當(dāng)前的值顯示的布局中
?
xwml 里面填寫內(nèi)容
<!--index.wxml-->
<view class="container">
<view class="usermotto">
<text class="user-motto" bindtap='click'>{{motto}}</text>
<picker bindchange="bindPickerChange" value="{{index}}" range="{{array}}">
<view class="picker">
當(dāng)前的國家:{{array[index]}}
</view>
</picker>
</view>
</view>
然后在js中添加事件(js中data是初始化數(shù)據(jù)用的)
首先打印下數(shù)據(jù)
bindPickerChange: function (e) {
console.log(e)
},
選擇的是第一個(gè)看截圖
我們從log中可以看出當(dāng)前選擇數(shù)據(jù)的0, 那么它的值也就是e.detail.value, 其中e是自己去的數(shù)據(jù)名字,后面跟的
是數(shù)據(jù)的路徑, 有了數(shù)據(jù)我們數(shù)值一下,假設(shè)在data中初始化一個(gè)數(shù)值為index,
代碼如下:
bindPickerChange: function (e) {
console.log(e.detail.value)
index = e.detail.value;
},
看下日志:
打印的是又?jǐn)?shù)據(jù)的,賦值的報(bào)錯(cuò)了,說index沒有定義,為什么呢???
首先需要明白的是index是哪里的數(shù)據(jù),當(dāng)然是data里面的,我們要用data里面的數(shù)據(jù)就需要使用setdata不然
直接就報(bào)錯(cuò),我們修改
bindPickerChange: function (e) {
console.log(e.detail.value)
index: e.detail.value
this.setData({
index: e.detail.value
})
},
這樣就很完成的得到想要的結(jié)果,
這個(gè)也是自己對(duì)setdata的理解,謝謝。
給出demo地址參考
demo地址如果幫助了您希望給一個(gè)免費(fèi)的star
總結(jié)
以上是生活随笔為你收集整理的微信小程序setData()方法的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序自定义组件Component的
- 下一篇: 盆腔炎症性不孕症要做哪些检查