H5技术栈前端开发笔记JavaScript 进阶营

Vue.set()学习笔记

2018-03-11  本文已影响8人  茶树菇小学生
template:
<ul>
      <li v-for="item in arrData">{{ item.num ? item.num : item }}</li>
</ul>
    <button class="btn" @click="btnChange" type="button" name="button">更改</button>
    <button class="btn" @click="btnReplace" type="button" name="button">替换</button>
    <button class="btn" @click="btnSet" type="button" name="button">set</button>
    <button class="btn" @click="btnPush" type="button" name="button">增加</button>
methods:
btnChange() {
      this.arrData[0] = 6
      console.log('更改后', this.arrData);
    },//不会重新渲染
    btnReplace() {
      this.arrData = [7, 2, 3, 4, 5]
      console.log('替换后', this.arrData);
    },//会
    btnSet() {
      Vue.set(this.arrData, 0, 8)
      console.log('set后', this.arrData);
    },//会
    btnPush() {
      this.arrData.push({ num : 9 })
      console.log('拼接对象后',this.arrData);
    },//会
    add() {
      this.arrDataObject.forEach((item, index) => {
        this.$set(item, 'a', 'hah')
        item.a = 'hah'
      })//会
      console.log(this.arrDataObject);
    }
const vm = new Vue({
  data: {
    a: 1
  }
})
// `vm.a` 是响应的
vm.b = 2
// `vm.b` 是非响应的

Vue.set(vm.someObject, 'b', 2)
上一篇 下一篇

猜你喜欢

热点阅读