Javascript 监视简单数组的元素

Javascript 监视简单数组的元素,javascript,arrays,vue.js,watch,Javascript,Arrays,Vue.js,Watch,Vue在简单数组项中看不到更改 我正在学习Vue.js,与watcher有问题。 也就是说,我试图观察数组中的变化,并改变一个数据值。 每次添加新项目并更改或删除现有项目时,我都希望更改该值 data() { return { change: false, array: ['one','two','three','four'] } }, watch:{ array:{ deep:true, handler()

Vue在简单数组项中看不到更改

我正在学习Vue.js,与watcher有问题。 也就是说,我试图观察数组中的变化,并改变一个数据值。 每次添加新项目并更改或删除现有项目时,我都希望更改该值

data() {
    return {
        change: false,
        array: ['one','two','three','four']
    }
},
watch:{
    array:{
        deep:true,
        handler(){
            this.change = true;
        }
    }
}

Vue只需查看数组长度何时更改,而不查看特定元素。

您可以查看
对象中的嵌套值,如使用点状字符串表示法中所示

var vm = new Vue({
  data: {
    e: {
      f: {
        g: 5
      }
    }
  },
  watch: {
    // watch vm.e.f's value: {g: 5}
    'e.f': function (val, oldVal) { /* ... */ }
  }
})

据我所知,您不能对数组执行此操作(即
数组[0]
),因为引用将被删除。我认为,如果整个数组发生变化,最好的方法是比较watcher函数中的
newValue
oldValue

// from vuejs docs
watch: {
  // whenever question changes, this function will run
  question: function (newQuestion, oldQuestion) {
    this.answer = 'Waiting for you to stop typing...'
    this.debouncedGetAnswer()
  }
},

您可以查看
对象
中的嵌套值,如使用点状字符串表示法中所示

var vm = new Vue({
  data: {
    e: {
      f: {
        g: 5
      }
    }
  },
  watch: {
    // watch vm.e.f's value: {g: 5}
    'e.f': function (val, oldVal) { /* ... */ }
  }
})

据我所知,您不能对数组执行此操作(即
数组[0]
),因为引用将被删除。我认为,如果整个数组发生变化,最好的方法是比较watcher函数中的
newValue
oldValue

// from vuejs docs
watch: {
  // whenever question changes, this function will run
  question: function (newQuestion, oldQuestion) {
    this.answer = 'Waiting for you to stop typing...'
    this.debouncedGetAnswer()
  }
},

如何更改阵列?如何更改阵列?