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

溫馨提示×

溫馨提示×

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

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

VUE如何實現動態給對象增加屬性并觸發視圖更新操作

發布時間:2021-05-20 14:51:02 來源:億速云 閱讀:281 作者:小新 欄目:web開發

這篇文章主要介紹了VUE如何實現動態給對象增加屬性并觸發視圖更新操作,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

在開發過程中,我們時常會遇到這樣一種情況:當vue的data里邊聲明或者已經賦值過的對象或者數組(數組里邊的值是對象)時,向對象中添加新的屬性,如果更新此屬性的值,是不會更新視圖的。

根據官方文檔定義:如果在實例創建之后添加新的屬性到實例上,它不會觸發視圖更新。

Vue 不允許在已經創建的實例上動態添加新的根級響應式屬性 (root-level reactive property)。然而它可以使用 Vue.set(object, key, value) 方法將響應屬性添加到嵌套的對象上。

我們編寫如下代碼測試給一個對象動態添加屬性:

<div id="app">
  <input v-model="form.amount" /> 
  <input type="button" @click="demoSet()" value="setName">
</div>
<script type="text/javascript">
var vm=new Vue({
  el: "#app",
  data: {
    i:0,
    form:{}
  },
  methods:{
    demoSet(){
      this.form.amount=this.i++;
      //this.$set(this.form,"amount",this.i++);
    }
  }
  });
</script>

這種方式可以給form增加一個屬性,但是不會界面不會響應更新。

正確的做法:

<div id="app">
  <input v-model="form.amount" /> 
  <input type="button" @click="demoSet()" value="setName">
</div>
<script type="text/javascript">
var vm=new Vue({
  el: "#app",
  data: {
    i:0,
    form:{}
  },
  methods:{
    demoSet(){
      this.$set(this.form,"amount",this.i++);
    }
  }
  });
</script>

這樣就可以給對象添加amount 屬性了。

這個有什么應用場景呢,比如 data.form 屬性很多,其中大部分是不需要要的,這時候,可以使用這種方法實現動態添加需要的屬性。

需要注意的是,這種方式是不能給根數據添加屬性的,比如:

<div id="app">
  <input v-model="name" /> 
  <input type="button" @click="demoSet()" value="setName">
</div>
<script type="text/javascript">
var vm=new Vue({
  el: "#app",
  data: {
  },
  methods:{
    demoSet(){
      this.$set(this,"name","ray");
    }
  }
  });
</script>

這種方式給data 增加一個 name 屬性是無效的。

為什么要使用Vue

Vue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以創建可維護性和可測試性更強的代碼庫,Vue允許可以將一個網頁分割成可復用的組件,每個組件都包含屬于自己的HTML、CSS、JavaScript,以用來渲染網頁中相應的地方,所以越來越多的前端開發者使用vue。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“VUE如何實現動態給對象增加屬性并觸發視圖更新操作”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

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

vue
AI

张掖市| 南通市| 平乡县| 绍兴市| 三穗县| 历史| 玉溪市| 紫金县| 万源市| 嵊州市| 方正县| 东乌| 隆昌县| 临潭县| 常德市| 黄骅市| 南开区| 会同县| 阜平县| 洪洞县| 长海县| 汝阳县| 宜城市| 淳化县| 开化县| 开平市| 乡宁县| 高青县| 常宁市| 胶州市| 方山县| 太湖县| 绥德县| 涪陵区| 通州区| 鲜城| 丰顺县| 和平区| 颍上县| 内江市| 石嘴山市|