新聞中心
這篇文章給大家分享的是有關(guān)Vue組件中的data必須是一個function的原因是什么的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
莫力達網(wǎng)站建設公司創(chuàng)新互聯(lián)公司,莫力達網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為莫力達上千多家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務好的莫力達做網(wǎng)站的公司定做!
組件可以有自己的data,并且data必須是一個function。
在下面這個例子中,data 返回了一個在外部定義的對象。并且這個組件在頁面中使用了3次,點擊+1時出現(xiàn)了如下情況:data中的count屬性影響到了所有實例。
{{count}}
而當data選項是一個函數(shù)的時候,每個實例可以維護一份被返回對象的獨立的拷貝,這樣各個實例中的data不會相互影響,是獨立的。
Vue.component('counter',{ template:'#tmp1', data:function(){ return {count:0} }, methods:{ increment(){ this.count++ } } })
補充:下面看下vue組件中data必須是一個函數(shù)的原因
vue組件中data值不能為對象,因為對象是引用類型,組件可能會被多個實例同時引用。如果data值為對象,將導致多個實例共享一個對象,其中一個組件改變data屬性值,其它實例也會受到影響。
上面解釋了data不能為對象的原因,這里我們簡單說下data為函數(shù)的原因。data為函數(shù),通過return 返回對象的拷貝,致使每個實例都有自己獨立的對象,實例之間可以互不影響的改變data屬性值。
data為函數(shù)的示例:
data:function(){ return { k1: 'v1', k2: 'v2', ... } }
感謝各位的閱讀!關(guān)于“Vue組件中的data必須是一個function的原因是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
名稱欄目:Vue組件中的data必須是一個function的原因是什么
鏈接分享:http://fisionsoft.com.cn/article/jdsjji.html