新聞中心
這里有您想知道的互聯網營銷解決方案
創(chuàng)新互聯小程序教程:微信小程序數據監(jiān)聽器
數據監(jiān)聽器
數據監(jiān)聽器可以用于監(jiān)聽和響應任何屬性和數據字段的變化。從小程序基礎庫版本 2.6.1 開始支持。

成都創(chuàng)新互聯公司專注為客戶提供全方位的互聯網綜合服務,包含不限于網站建設、網站制作、海寧網絡推廣、小程序定制開發(fā)、海寧網絡營銷、海寧企業(yè)策劃、海寧品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯公司為所有大學生創(chuàng)業(yè)者提供海寧建站搭建服務,24小時服務熱線:13518219792,官方網址:www.cdcxhl.com
使用數據監(jiān)聽器
有時,在一些數據字段被 setData 設置時,需要執(zhí)行一些操作。
例如, this.data.sum 永遠是 this.data.numberA 與 this.data.numberB 的和。此時,可以使用數據監(jiān)聽器進行如下實現。
Component({
attached: function() {
this.setData({
numberA: 1,
numberB: 2,
})
},
observers: {
'numberA, numberB': function(numberA, numberB) {
// 在 numberA 或者 numberB 被設置時,執(zhí)行這個函數
this.setData({
sum: numberA + numberB
})
}
}
})監(jiān)聽字段語法
數據監(jiān)聽器支持監(jiān)聽屬性或內部數據的變化,可以同時監(jiān)聽多個。一次 setData 最多觸發(fā)每個監(jiān)聽器一次。
同時,監(jiān)聽器可以監(jiān)聽子數據字段,如下例所示。
Component({
observers: {
'some.subfield': function(subfield) {
// 使用 setData 設置 this.data.some.subfield 時觸發(fā)
// (除此以外,使用 setData 設置 this.data.some 也會觸發(fā))
subfield === this.data.some.subfield
},
'arr[12]': function(arr12) {
// 使用 setData 設置 this.data.arr[12] 時觸發(fā)
// (除此以外,使用 setData 設置 this.data.arr 也會觸發(fā))
arr12 === this.data.arr[12]
},
}
})
如果需要監(jiān)聽所有子數據字段的變化,可以使用通配符 ** 。
Component({
observers: {
'some.field.**': function(field) {
// 使用 setData 設置 this.data.some.field 本身或其下任何子數據字段時觸發(fā)
// (除此以外,使用 setData 設置 this.data.some 也會觸發(fā))
field === this.data.some.field
},
},
attached: function() {
// 這樣會觸發(fā)上面的 observer
this.setData({
'some.field': { /* ... */ }
})
// 這樣也會觸發(fā)上面的 observer
this.setData({
'some.field.xxx': { /* ... */ }
})
// 這樣還是會觸發(fā)上面的 observer
this.setData({
'some': { /* ... */ }
})
}
})
特別地,僅使用通配符 ** 可以監(jiān)聽全部 setData 。
Component({
observers: {
'**': function() {
// 每次 setData 都觸發(fā)
},
},
})
提示:
- 數據監(jiān)聽器監(jiān)聽的是 setData 涉及到的數據字段,即使這些數據字段的值沒有發(fā)生變化,數據監(jiān)聽器依然會被觸發(fā)。
- 如果在數據監(jiān)聽器函數中使用 setData 設置本身監(jiān)聽的數據字段,可能會導致死循環(huán),需要特別留意。
- 數據監(jiān)聽器和屬性的 observer 相比,數據監(jiān)聽器更強大且通常具有更好的性能。
當前標題:創(chuàng)新互聯小程序教程:微信小程序數據監(jiān)聽器
標題鏈接:http://m.5511xx.com/article/dheiddi.html


咨詢
建站咨詢
