vue一些容易混淆的名詞
阿新 • • 發佈:2018-12-26
一、計算屬性computed和偵聽屬性watch
1.計算屬性computed- 計算屬性是基於它們的依賴進行快取的,而呼叫方法總是每次重新計算。如果不需要快取,就使用方法。
- 當你有一些資料需要隨著其它資料變動而變動時,通常更好的做法是使用計算屬性而不是命令式的 watch 回撥。
- 當需要在資料變化時執行非同步或開銷較大的操作時,這個方式是最有用的。
二、v-if和v-show
1.v-if
- v-if是真正的條件渲染,它會確保在切換過程中,條件塊內的事件監聽器和子元件適當的被銷燬和重建
- v-if是惰性的:如過在初始渲染時條件為假,則什麼也不做——直到條件第一次變為真時,才會開始渲染條件塊
- 適用於在執行時條件很少改變
- 不管初始條件是什麼,元素總是會被渲染,並且只是簡單的基於css進行切換(display)
- 適用於頻繁的切換
三、v-for
1.v-for(陣列)- (item, index) in items 可選的第二個引數為當前項的索引。
- <div v-for="(value, key, index) in object">可以提供第二個的引數為鍵名
- 第三個引數為索引
四、陣列更新檢測
1.以下變動不能觸發對應元素更新- 當你利用索引直接設定一個項時,例如:vm.items[indexOfItem] = newValue 替代方法:Vue.set(vm.items, indexOfItem, newValue) 或 vm.$set(vm.items, indexOfItem, newValue)
- 當你修改陣列的長度時,例如:vm.items.length = newLength 替代方法:vm.items.splice(indexOfItem, 1, newValue)