vue中組件的data為什么是一個函數


組件是可復用的vue實例,一個組件被創建好之后,就可能被用在各個地方,而組件不管被復用了多少次,組件中的data數據都應該是相互隔離,互不影響的,基於這一理念,組件每復用一次,data數據就應該被復制一次,之后,當某一處復用的地方組件內data數據被改變時,其他復用地方組件的data數據不受影響,如下面這個例子:

該組件被復用了三次,但每個復用的地方組件內的count數據相互不受影響,它們各自維護各自內部的count

能有這樣效果正是因為上述例子中的data不是一個單純的對象,而是一個函數返回值的形式,所以每個組件實例可以維護一份被返回對象的獨立拷貝,如果我們將上述例子中的data修改為:

那么就會造成無論在哪個組件里改變了count值,都會影響到其他兩個組件里的count

 

我的博客即將同步至騰訊雲+社區,邀請大家一同入駐:https://cloud.tencent.com/developer/support-plan?invite_code=24gchdmuekjoc


免責聲明!

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



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