在 Vue 中观察带有数字键的对象

Watch an object with numeric key in Vue

有没有办法在 Vue2 中观察具有数字键的对象中的特定值?如果它是一个“普通”字符串键,例如 obj = {keyName: []},我知道你可以这样做:

watch: {
   'obj.keyName'() {
      //Handle array change
   }
}

但是,如果我有一个像 obj = {1: []} 这样的对象,其中键是一个数字怎么办 - 我知道你不能使用相同的观察者语法,比如:

'obj[1]'()

正常代码中的

obj.1 会引发错误。是否有另一种方法可以专门为 obj 对象的那个属性设置观察者?

你可以这样做:

watch: {
   'obj.1'() {
      // Handle array change
   }
}

之所以有效,是因为 obj.1 并不是有效的 JavaScript 代码,而是 Vue 解析它并将其视为一个简单的键路径,它本质上等同于 obj['1'].