首页 > 解决方案 > 在 Vue 中使用数字键查看对象

问题描述

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

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

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

'obj[1]'()

并且obj.1在正常代码中会引发错误。是否有另一种方法可以专门为obj对象的该属性设置观察者?

标签: javascriptvue.jsobjectwatch

解决方案


你可以这样做:

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

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


推荐阅读