使用數據監聽器
有時,在一些數據字段被 setData 設置時,需要執行一些操作。
例如, this.data.sum 永遠是 this.data.numberA 與 this.data.numberB 的和。此時,可以使用數據監聽器進行如下實現。
Component({ attached: function() { this.setData({ numberA: 1, numberB: 2, }) }, observers: { 'numberA, numberB': function(numberA, numberB) { // 在 numberA 或者 numberB 被設置時,執行這個函數 this.setData({ sum: numberA + numberB }) } } })
當我嘗試按照以上方法進行監聽數據時,錯誤的設置了
this.setData({ numberA:numberA,// 文檔里面是設置的sum變量,我這里設置了監聽的變量 });
導致無限循環監聽卡死。這里不需要重新設置setData,因為組件已經獲取到了最新的數據。
