用組件化來寫vue項目,每個.vue都是一個個組件。
組件是一個可復(fù)用的vue的實例。
如果不使用return包裹數(shù)據(jù),那么則在項目的全局中可見,容易造成變量污染。
變量污染簡單說就是我們定義了過多的全局變量,可能會造成全局變量沖突的現(xiàn)象。
那么怎么避免這種現(xiàn)象呢?我們可以將數(shù)據(jù)封裝起來,在vue項目中data就相當于是一個封裝了變量的對象。
JS中的實例是通過構(gòu)造函數(shù)來創(chuàng)建的,每個構(gòu)造函數(shù)可以new出很多個實例,那么每個實例都會繼承原型上的方法或?qū)傩浴?/p>
vue的data數(shù)據(jù)其實是vue原型上的屬性,數(shù)據(jù)存在于內(nèi)存當中,vue為了保證每個實例上的data數(shù)據(jù)的獨立性,規(guī)定了必須使用函數(shù),而不是對象。
因為使用對象的話,每個實例(組件)上使用的data數(shù)據(jù)是會相互影響的。