即computed,是一個對象,內部可添加函數,這些函數的this指向全局緩存
調用時,一樣也是用插值表達式中添加函數名來實現函數
好處在於,雖然模板中容許寫js語句,可是這樣會致使樣式和行爲不分離,而在computed內部能夠直接寫變量的操做以及返回值,實現了行爲和樣式的解耦this
此外,計算屬性有緩存機制,只有修改其相關的屬性的值的時候纔會從新計算並渲染,不然不會改變對象
相似於JS中的get和set方法,computed裏的每個屬性/方法都有get方法和set方法,分別在獲取/修改屬性值的時候被觸發blog
即寫在methods裏的函數事件
methods也是個對象,內部可添加函數,不過這些函數是和事件相關的get
固然,方法裏也能夠寫不是和事件相關的,用插值表達式調用時,注意添加()表示執行模板
可是相比於計算屬性computed,其沒有緩存機制,只要全局中有一個數據發生變化就會調用,不如computed好使變量
watch,爲一個對象,內部能夠添加data中的變量做爲監聽對象,若是監聽對象發生變化(值必須變成另外一個),則觸發對應的偵聽器中的函數渲染