計算屬性computed與methods的區別,以及為什么使用計算屬性時不用加():


在Vue中,我們會大量使用到計算屬性computed和methods,會發現它倆看起來很像,那使用上到底有什么區別呢???

--------------------------------------------------------------------------------------------------------------------------------------

一、computed與methods的區別:

1.實質上computed計算屬性中定義的是屬性而不是函數,所以使用時直接用{{xxx}},而不要使用{{xxx()}};——后面詳細說明

   而methods中定義的是函數,因此使用時需要{{xxx()}}。

2.計算屬性computed被使用時會進行緩存,如果需要多次使用,則只需要調用1次

   而methods中的函數無緩存,如果需要使用n次,則需要調用n次。

因此,需要多次使用時,推薦使用計算屬性computed。

--------------------------------------------------------------------------------------------------------------------------------------

二、為什么使用計算屬性computed時不用()

計算屬性的實質為屬性,其中定義了set()方法和get()方法:

 而一般使用中不需要set方法,我們只需要get方法,因此計算屬性一般為“只讀屬性”。

去掉無用的set方法后,computed屬性簡寫為我們常見的方式:

因此,只是形式上看起來像函數,實質上computed計算屬性是屬性。使用計算屬性時,直接使用{{fullName}},不要加()。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM