Vue計算屬性和偵聽器

2022-09-18 14:12:14 字數 665 閱讀 1952

模板內的表示式非常便利,但是在模板中放入太多的邏輯會讓模板過重切難以維護。對於任何複雜邏輯都應該使用計算屬性。

}

var vm = new vue(,

computed:

}})

這裡宣告乙個計算屬性reversemsg。我們提供的函式將作用屬性vm.reversemsg的getter函式。

我們可以在表示式中呼叫方法來達到和計算屬性相同的作用。但是計算屬性是基於它們的依賴快取的。只有在相關依賴改變的時候才會重新求值。這就意味著只要message沒有改變,多次訪問reversemsg還是返回同樣的值,而不是執行函式。

computed: 

}

如上是不會發生改變的,應該不是響應式依賴。

計算屬性的setter

計算屬性預設只有getter,不過在需要時也可以提供乙個setter。

computed: ,

set: function()

}}

雖然計算屬性在大多數情況下更合適,但有時也需要乙個自定義的偵聽器。這就是為什麼 vue 通過 watch 選項提供了乙個更通用的方法,來響應資料的變化。當需要在資料變化時執行非同步或開銷較大的操作時,這個方式是最有用的。

vue之計算屬性和偵聽器

一 使用計算屬性 模板內的表示式是非常便利的,但適用於簡單運算。在模板中放入太多的邏輯會讓模板過重且難以維護。script src vue.js script div id p p div script varvm new vue script 在上述中字串的反轉邏輯放在模板中,這樣是不利於維護的,...

計算屬性和偵聽器

1 計算屬性快取 vs 方法 將乙個函式定義為計算屬性和方法得到的結果是相同的。但不同的是計算屬性是基於它們的依賴進行快取的,只是在相關依賴發生改變時才會重新求值。方法 methods 計算屬性 computed 2 計算屬性 vs 偵聽屬性 偵聽屬性 觀察和響應vue例項上的資料變動 watch ...

計算屬性和偵聽器

div id example p original message p p computed reversed message p div var vm new vue computed 結果 original message hello computed reversed message olle...