91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

observer數據監聽器小程序怎么開發

發布時間:2022-03-10 10:30:06 來源:億速云 閱讀:202 作者:iii 欄目:開發技術

這篇文章主要介紹“observer數據監聽器小程序怎么開發”,在日常操作中,相信很多人在observer數據監聽器小程序怎么開發問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”observer數據監聽器小程序怎么開發”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

  數據監聽器

  數據監聽器可以用于監聽和響應任何屬性和數據字段的變化。從小程序基礎庫版本 2.6.1 開始支持。

  使用數據監聽器

  有時,在一些數據字段被 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

  })

  }

  }

  })

  在開發者工具中預覽效果

  監聽字段語法

  數據監聽器支持監聽屬性或內部數據的變化,可以同時監聽多個。一次 setData 最多觸發每個監聽器一次。

  同時,監聽器可以監聽子數據字段,如下例所示。

  Component({

  observers: {

  'some.subfield': function(subfield) {

  // 使用 setData 設置 this.data.some.subfield 時觸發

  // (除此以外,使用 setData 設置 this.data.some 也會觸發)

  subfield === this.data.some.subfield

  },

  'arr[12]': function(arr12) {

  // 使用 setData 設置 this.data.arr[12] 時觸發

  // (除此以外,使用 setData 設置 this.data.arr 也會觸發)

  arr12 === this.data.arr[12]

  },

  }

  })

  如果需要監聽所有子數據字段的變化,可以使用通配符 ** 。

  Component({

  observers: {

  'some.field.**': function(field) {

  // 使用 setData 設置 this.data.some.field 本身或其下任何子數據字段時觸發

  // (除此以外,使用 setData 設置 this.data.some 也會觸發)

  field === this.data.some.field

  },

  },

  attached: function() {

  // 這樣會觸發上面的 observer

  this.setData({

  'some.field': { /* ... */ }

  })

  // 這樣也會觸發上面的 observer

  this.setData({

  'some.field.xxx': { /* ... */ }

  })

  // 這樣還是會觸發上面的 observer

  this.setData({

  'some': { /* ... */ }

  })

  }

  })

  特別地,僅使用通配符 ** 可以監聽全部 setData 。

  Component({

  observers: {

  '**': function() {

  // 每次 setData 都觸發

  },

  },

  })

  Bugs & Tips:

  數據監聽器監聽的是 setData 涉及到的數據字段,即使這些數據字段的值沒有發生變化,數據監聽器依然會被觸發。

  如果在數據監聽器函數中使用 setData 設置本身監聽的數據字段,可能會導致死循環,需要特別留意。

  數據監聽器和屬性的 observer 相比,數據監聽器更強大且通常具有更好的性能。

到此,關于“observer數據監聽器小程序怎么開發”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

华亭县| 醴陵市| 汝南县| 西平县| 安丘市| 晋宁县| 绩溪县| 新巴尔虎右旗| 泰来县| 罗平县| 敦化市| 广灵县| 那坡县| 健康| 萝北县| 巩义市| 涪陵区| 屯门区| 葵青区| 女性| 和平区| 彭水| 长寿区| 射洪县| 虞城县| 商丘市| 保德县| 疏附县| 六盘水市| 济宁市| 洛宁县| 凤山市| 昌都县| 黎川县| 鄂温| 凌云县| 满城县| 津市市| 澄城县| 高平市| 涟水县|