歡迎訪問個人我的博客:http://www.xiaolongwu.cnvue
老規矩,咱們仍是先說爲何。git
問題描述:爲何在vue組件中,咱們的data屬性必須是一個函數,new Vue()中的data除外,由於new Vue中只有一個data屬性。github
緣由:由於咱們能抽離出來的組件,確定是具備複用性的,它在項目中會存在多個實例。若是data屬性值是一個對象時,那麼它全部的實例都會共享這些數據,這是很麻煩的事情,你不能確保你的全部實例中的屬性值都不會重複。函數
咱們的指望是,組件的每一個實例都能獨立的維護本身的數據。學習
咱們都知道,在JavaScript中,函數具備獨立做用域快的特色,外部是沒法訪問其內部的變量。.net
試想一下,若是咱們組件中的data屬性是一個函數,他的每一個實例就會有本身的做用域空間,也就是獨立的數據,每一個實例之間不會相互影響。對象
因此,組件中的data屬性必須是一個函數。blog
github資源地址:vue--爲何data屬性必須是一個函數ip
個人CSDN博客地址:https://blog.csdn.net/wxl1555資源
若是您對個人博客內容有疑惑或質疑的地方,請在下方評論區留言,或郵件給我,共同窗習進步。
郵箱:wuxiaolong802@163.com