亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-08-05 11:19:16 來源:億速云 閱讀:181 作者:小新 欄目:web開發

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

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

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

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

<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link rel="stylesheet" type="text/css" href="../css/bootstrap.css" rel="external nofollow" >
  <style type="text/css">
 #app{
  margin:20px;
 }
  </style>
 </head>
<body>
 <div id='app'>
  <counter></counter>
  <counter></counter>
  <counter></counter>
 </div>
 <template id="tmp1">
  <div>
   <input type="button" value="+1" @click="increment">
   <h2>{{count}}</h2>
  </div>
 </template>
</body>
<script src="../lib/vue.js"></script>
<script>
 var dataObj = {count:0}
 //這是一個計數器組件,每當點擊按鈕,讓data中的count值加1
 Vue.component('counter',{
  template:'#tmp1',
  data:function(){
   return dataObj
  },
  methods:{
   increment(){
    this.count++
   }
  }
 })
 var vm = new Vue({
  el:'#app',
 })
</script>
</html>

而當data選項是一個函數的時候,每個實例可以維護一份被返回對象的獨立的拷貝,這樣各個實例中的data不會相互影響,是獨立的。

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

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

  補充:下面看下vue組件中data必須是一個函數的原因

  vue組件中data值不能為對象,因為對象是引用類型,組件可能會被多個實例同時引用。如果data值為對象,將導致多個實例共享一個對象,其中一個組件改變data屬性值,其它實例也會受到影響。

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

data為函數的示例:

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昭平县| 湘西| 株洲市| 铁岭市| 昌江| 庄浪县| 汨罗市| 寿宁县| 辛集市| 百色市| 乐东| 灯塔市| 泰宁县| 龙陵县| 乌拉特后旗| 乌恰县| 临沂市| 桃源县| 夏邑县| 阳新县| 旌德县| 舒兰市| 阜南县| 左权县| 连江县| 多伦县| 内丘县| 道孚县| 庆安县| 丹凤县| 汝州市| 元朗区| 永修县| 库尔勒市| 北京市| 图片| 毕节市| 马公市| 拜泉县| 东平县| 龙陵县|