Vue->computed與watch的異同

不一樣點

觸發條件不一樣前端

  • computed計算屬性會依賴於使用它的data屬性,只要是依賴的data屬性值有變更,則自定義從新調用計算屬性執行一次。緩存

  • watc則是在監控的data屬性值發生變更時,其會自動調用watch回調函數。函數

執行速度不一樣性能

  • computed計算屬性的值是直接從緩存中獲取,而不是從新編譯執行一次,於是其性能要高一些,尤爲是在data屬性中的值無變化,而重複調用computed回調函數時更是如此,因此說在Vue中,應該儘量的多使用computed替代watch。回調函數

  • watch中的值須要data屬性從新編譯執行,於是其性能方面會有所損失。編譯

使用方式不一樣社區

  • computed計算屬性的回調函數方法能夠直接在頁面中經過插值表達式——{{}}來獲取。此時咱們不須要再data數據域中再定義一個與方法名相同的屬性。class

  • watch中的方法名必須是data數據域中所存在的,不然沒法使用。監控

相同點

  • 均可以實現經過監控data數據域中屬性值的變化來觸發相應的回調函數,進而實現咱們特殊的邏輯業務處理功能。

寫在最後

但願個人分享對你有所幫助,更多資訊請持續關注,我會分享愈來愈多的實戰經驗哦! 或加入大前端知識體系社區一塊兒探索技術:608229520方法

相關文章
相關標籤/搜索