一、計算屬性
什么時候會用到計算屬性叠蝇?
當綁定的數(shù)據(jù)邏輯較為復雜時风宁!
例如:
①基礎(chǔ)例子
Vue 知道vm.reversedMessage依賴于vm.message,因此當vm.message發(fā)生改變時辜昵,依賴于vm.reversedMessage的綁定也會更新。
②計算緩存 vs Methods(計算屬性是基于它的依賴緩存)
為什么會這樣呢咽斧?因為computed下定義的方法有計算緩存堪置,而methods下的方法沒有。
我們?yōu)槭裁葱枰彺媸粘考僭O(shè)我們有一個重要的計算屬性A晋柱,這個計算屬性需要一個巨大的數(shù)組遍歷和做大量的計算。然后我們可能有其他的計算屬性依賴于A诵叁。如果沒有緩存雁竞,我們將不可避免的多次執(zhí)行A的 getter !如果你不希望有緩存拧额,請用 method 替代碑诉。
③計算屬性 vs Watched Property(觀察vue實例上的數(shù)據(jù)變動)
④計算setter
現(xiàn)在在運行vm.fullName = 'John Doe'時, setter 會被調(diào)用侥锦,vm.firstName和vm.lastName也會被對應(yīng)更新进栽。
二、觀察Watchers(watch學到的不多恭垦,倒是發(fā)現(xiàn)一個有趣的api快毛、限制操作頻率的lodash以及axios)
在這個示例中,使用watch選項允許我們執(zhí)行異步操作(訪問一個 API)番挺,限制我們執(zhí)行該操作的頻率唠帝,并在我們得到最終結(jié)果前,設(shè)置中間狀態(tài)玄柏。這是計算屬性無法做到的襟衰。
學好Vue!
成為優(yōu)秀的前端工程師粪摘!