真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Vue組件中的data必須是一個(gè)function的原因是什么

這篇文章給大家分享的是有關(guān)Vue組件中的data必須是一個(gè)function的原因是什么的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

莫力達(dá)網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,莫力達(dá)網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為莫力達(dá)上千多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個(gè)售后服務(wù)好的莫力達(dá)做網(wǎng)站的公司定做!

組件可以有自己的data,并且data必須是一個(gè)function。

在下面這個(gè)例子中,data 返回了一個(gè)在外部定義的對象。并且這個(gè)組件在頁面中使用了3次,點(diǎn)擊+1時(shí)出現(xiàn)了如下情況:data中的count屬性影響到了所有實(shí)例。

Vue組件中的data必須是一個(gè)function的原因是什么


 
  
  
  
 #app{
  margin:20px;
 }
  
 

 
  
  
  
 
    
       

{{count}}

  
 

而當(dāng)data選項(xiàng)是一個(gè)函數(shù)的時(shí)候,每個(gè)實(shí)例可以維護(hù)一份被返回對象的獨(dú)立的拷貝,這樣各個(gè)實(shí)例中的data不會(huì)相互影響,是獨(dú)立的。

 Vue.component('counter',{
  template:'#tmp1',
  data:function(){
   return {count:0}
  },
  methods:{
   increment(){
    this.count++
   }
  }
 })

Vue組件中的data必須是一個(gè)function的原因是什么

  補(bǔ)充:下面看下vue組件中data必須是一個(gè)函數(shù)的原因

  vue組件中data值不能為對象,因?yàn)閷ο笫且妙愋停M件可能會(huì)被多個(gè)實(shí)例同時(shí)引用。如果data值為對象,將導(dǎo)致多個(gè)實(shí)例共享一個(gè)對象,其中一個(gè)組件改變data屬性值,其它實(shí)例也會(huì)受到影響。

上面解釋了data不能為對象的原因,這里我們簡單說下data為函數(shù)的原因。data為函數(shù),通過return 返回對象的拷貝,致使每個(gè)實(shí)例都有自己獨(dú)立的對象,實(shí)例之間可以互不影響的改變data屬性值。

data為函數(shù)的示例:

data:function(){
  return {
      k1: 'v1',
      k2: 'v2',
    ...
  }
}

感謝各位的閱讀!關(guān)于“Vue組件中的data必須是一個(gè)function的原因是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


網(wǎng)頁題目:Vue組件中的data必須是一個(gè)function的原因是什么
分享鏈接:http://weahome.cn/article/jdsjji.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部