1. 程式人生 > >vue學習之路-----計算屬性computed,監聽器wtach,$watch()命令

vue學習之路-----計算屬性computed,監聽器wtach,$watch()命令

雙大括號的模板內可以放入表示式,但是但複雜到一定程度時,就需要使用計算屬性。

這裡聲明瞭一個計算屬性reversedMessage,當message發生改變時,依賴messagereversedMessage也會發生改變,計算屬性的getter函式是沒有副作用的。

計算屬性預設只有getter,不過也可以新增setter

這裡的fullName並沒有定義,是通過firstNamelastName計算得來的。

只有getter時,只能通過後者來得到fullName,新增setter後,當fullName發生改變時,也可以得到firstNamelastName

1.計算屬性與方法的區別

當然定義一個方法也可以實現相應的功能。兩者的區別是:

計算屬性是基於它們的依賴進行快取的,只有當它們的以來發生改變時才會再次計算。如果未發生改變,則立即返回之前的結果,並不會執行函式

方法則不同,不管依賴是否發生變化,都會再次執行,然後返回新的計算結果。

2.計算屬性與監聽屬性(watch)

當有一些資料需要隨著其他資料變動而變動時,很容易就會想起watch,實際上很多時候你都可以使用計算屬性(computed)

這兩者相比較,計算屬性更簡單一些,watch很多時候會顯得重複。

3.監聽器(watch)

雖然大多數情況計算屬性都可以滿足需要,但有時還是需要使用偵聽器。當需要在資料發生變化時

執行非同步操作或者開銷較大的操作時,就需要自定義監聽器。

當監聽的資料發生變化時,question方法就會執行。除此之外,我們還可以在這個方法裡執行非同步操作使用定時器來限制操作的頻率吧,新增中間狀態等等,這些操作都是無法用計算屬性實現的

4.$watch()命令

沒看懂,如果有哪位大神有比較通俗易懂的部落格希望推薦給我,萬分感謝!!