vue中直接通过更改数组下标的方式明明可以更新视图啊

如题,自己代码里试了下,直接data里定义一个arr: [0,1,2,3],然后绑定一个点击事件里this.arr[4] = 4,然后视图里

  • {{arr[arr.length-1]}}
  • 值确实改变了的啊。

    为啥官方文档里说直接通过下标的方式改变不了呢?我试了试不管是直接通过下标还是变异方法还是Vue.set的方式都可以正常更新视图啊。求教

    最佳答案

    视图更新是全局的,一个地方更新会使其他修改的地方更新;

    eventFn(){
          this.blue = !this.blue;//你把这两句都注销再试试。
          this.c = 'wa ha ho';//你把这两句都注销再试试。
          this.arr[4] = 4;
          // this.arr.splice(4,1,4)
          // Vue.set(this.arr, 4, 4)
        }