在vue文档中写着如果在实例创建之后添加新的属性到实例上,它不会触发视图更新

push

  • 添加元素到数组的尾部,可以添加任意个元素

    pop

  • 删除数组中的最后一个元素

    shift

  • 删除数组中的第一个元素

    unshift

  • 从数组的头部插入一个元素,也可以插入多个

    splice

    添加

  • 第二个参数是0

    删除

  • 第二个参数是删除元素的个数

    修改

  • 第二个参数是替换元素的个数

    sort

  • 排序

    reserve

  • 倒序

    Vue提供的set/delete方法

  • 新增与删除

Vue.set() 方法
参数1:要修改的对象
参数2:属性
参数3:属性的值是啥
返回值:已经修改好的值

  1. <div id="app">
  2. <p v-for='item in items' v-once>{{item}}</p>
  3. <button @click='btn()'>添加</button>
  4. </div>
  1. new Vue({
  2. el:'#app',
  3. data:{
  4. items:['a','b','c']
  5. },
  6. methods:{
  7. btn(){
  8. //无法修改
  9. this.item[1]='d'
  10. console.log(this.item)
  11. //Vue.set
  12. Vue.set(this.items,1,'e)
  13. //this.$set
  14. this.$set(this.items,1,'e'
  15. }}
  16. })