最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VUE 實(shí)現(xiàn)動(dòng)態(tài)給對(duì)象增加屬性,并觸發(fā)視圖更新操作示例

 更新時(shí)間:2019年11月29日 11:52:20   作者:自由港  
這篇文章主要介紹了VUE 實(shí)現(xiàn)動(dòng)態(tài)給對(duì)象增加屬性,并觸發(fā)視圖更新操作,涉及vue.js對(duì)象屬性動(dòng)態(tài)操作及視圖更新相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了VUE 實(shí)現(xiàn)動(dòng)態(tài)給對(duì)象增加屬性,并觸發(fā)視圖更新操作。分享給大家供大家參考,具體如下:

在開發(fā)過程中,我們時(shí)常會(huì)遇到這樣一種情況:當(dāng)vue的data里邊聲明或者已經(jīng)賦值過的對(duì)象或者數(shù)組(數(shù)組里邊的值是對(duì)象)時(shí),向?qū)ο笾刑砑有碌膶傩?,如果更新此屬性的值,是不?huì)更新視圖的。

根據(jù)官方文檔定義:如果在實(shí)例創(chuàng)建之后添加新的屬性到實(shí)例上,它不會(huì)觸發(fā)視圖更新。

Vue 不允許在已經(jīng)創(chuàng)建的實(shí)例上動(dòng)態(tài)添加新的根級(jí)響應(yīng)式屬性 (root-level reactive property)。然而它可以使用 Vue.set(object, key, value) 方法將響應(yīng)屬性添加到嵌套的對(duì)象上。

我們編寫如下代碼測(cè)試給一個(gè)對(duì)象動(dòng)態(tài)添加屬性:

<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增加一個(gè)屬性,但是不會(huì)界面不會(huì)響應(yīng)更新。

正確的做法:

<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>

這樣就可以給對(duì)象添加amount 屬性了。

這個(gè)有什么應(yīng)用場(chǎng)景呢,比如 data.form 屬性很多,其中大部分是不需要要的,這時(shí)候,可以使用這種方法實(shí)現(xiàn)動(dòng)態(tài)添加需要的屬性。

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

<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 增加一個(gè) name 屬性是無(wú)效的。

希望本文所述對(duì)大家vue.js程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

洪雅县| 贵阳市| 宁武县| 岳阳县| 富源县| 贡嘎县| 平阳县| 金沙县| 札达县| 漠河县| 太和县| 从化市| 铜川市| 咸阳市| 青海省| 长武县| 吴堡县| 威远县| 博罗县| 远安县| 扎鲁特旗| 临清市| 醴陵市| 新巴尔虎右旗| 温宿县| 万宁市| 永和县| 万盛区| 峡江县| 哈尔滨市| 库伦旗| 泰顺县| 沙洋县| 英吉沙县| 武川县| 通辽市| 古田县| 潮州市| 新宾| 屯门区| 东城区|