Vue中計算屬性和偵聽器
在Vue中通常我們會在模板繫結表示式,模板是用來描述檢視結構的。如果模板中的表示式存在過多的邏輯性語句,那麼整個模板就會變得特別的臃腫,可讀性和維護性將會降低,因此為了簡化邏輯,我們會使用計算屬性
基本用法:
computed:{ A:function(){ return B+C } }
如果學過面嚮物件語言,應該知道物件導向的標準之一封裝,需要getter也需要setter,而上面的寫法,實際上只寫了getter而沒有寫setter
那麼我們就可以換種寫法
computed:{ A:{ get:function(){ return B+C } set:function(newVal){ var names=newVal.splir(' ') this.B=names[0] this.C=names[1] } } }
這樣寫就明瞭很多了
這個時候,可能會奇怪,似乎計算屬效能做的用方法來也可以做
也就是
methods: { A: function () { return B+C } }
實際上,計算屬性是基於他們的響應式依賴進行快取的,而方法不存在快取
而計算屬性的快取也有它的壞處,當重複呼叫時,就會發生一些多餘的步驟,導致大量不必要的運算
這時候就需要
cache:false
關閉快取
再來看他的快取方式,計算屬性是具有依賴性的,依賴data中的資料,如果資料改變,相應的就會改變,這就要說到另外一個東西:偵聽器
什麼是偵聽器呢?偵聽器用來偵聽資料的變化,如果資料發生變化就會觸發繫結的方法
偵聽器又有自己的應用場景:
資料變化執行時非同步或開銷比較大的操作
基本使用:
watch:{ firstN:function(val){ this.A=val+this.C } }
偵聽器,相比於計算屬性來說,是很容易重複的,所以Vue也建議,通常更好的做法是使用計算屬性而不是watch
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2680638/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Vue計算屬性和偵聽器Vue
- Vue中的計算屬性和偵聽器比較Vue
- 前端【VUE】03-vue【computed 計算屬性】【watch 偵聽器】前端Vue
- Vue中計算屬性computed與偵聽器watch的區別Vue
- vue 基礎入門筆記 19:計算屬性和偵聽屬性Vue筆記
- 深入理解Vue 3:計算屬性與偵聽器的藝術Vue
- 複習Vue中的方法,計算和偵聽者Vue
- vue計算屬性和vue實力的屬性和方法Vue
- vue計算屬性 監聽 方法的區別Vue
- 第六講、Vue3.x中使用JavaScript表示式 、條件判斷、 計算屬性和watch偵聽VueJavaScript
- Vue的計算屬性Vue
- 【Vue】計算屬性 監聽屬性 元件通訊 動態元件 插槽 vue-cli腳手架Vue元件
- Vue 計算屬性與方法Vue
- Vue(5)計算屬性computedVue
- 【Vue.js 牛刀小試】05:第五章 - 計算屬性與監聽器Vue.js
- 【Vue.js 牛刀小試】05:第五章 – 計算屬性與監聽器Vue.js
- Vue.js中偵聽器watch 的高階用法Vue.js
- Vue 框架-04-計算屬性Vue框架
- Vue — 計算屬性(computed)詳解Vue
- vue.js計算屬性(computed)Vue.js
- 屬性和監聽
- vue.js計算屬性(getter | setter)Vue.js
- vue.js計算屬性用法(computed)Vue.js
- Vue筆記三——計算屬性(computed)Vue筆記
- 3. Vue語法--計算屬性Vue
- vue3計算屬性的可寫屬性 set 與 getVue
- vue計算屬性詳解——小白速會Vue
- 關於vuejs的偵聽屬性watch的三個問題VueJS
- 計算屬性
- Vue中如何使用方法、計算屬性或觀察者Vue
- Vue — vue中帶有$的屬性和方法Vue
- vue2.x版本中Object.defineProperty物件屬性監聽和關聯VueObject物件
- Vue之computed(計算屬性)詳解get()、set()Vue
- 【原始碼系列#04】Vue3偵聽器原理(Watch)原始碼Vue
- 03 . Vue基礎之計算屬性,元件基礎定義和使用Vue元件
- Vue EventBus事件偵聽($on、$emit、$off、$once)Vue事件MIT
- 全面瞭解Vue3的 ref 和相關函式和計算屬性Vue函式
- Vue3原始碼解析(computed-計算屬性)Vue原始碼