在自定义观察程序中获取对象的键(Vue Js)

时间:2018-10-11 17:47:47

标签: javascript vue.js vuejs2

是否可以从特定值获取观察者中的钥匙?

例如,如果我有这个对象

data() {
   return {
     form: {
        a: 'A',
        b: 'B'
     }
   }
}

如果 a 中的值已更新,我想获取他的密钥。

 watch: {
      'form' (val) : {
         //get the key 
       }
   }

我知道我可以这样观察特定的值:'form.a'(val) {},但是出于某种目的,我需要从对象中获取键。

谢谢

Ps:对不起,英语不好。

1 个答案:

答案 0 :(得分:0)

尝试

watch: {
    form: {
        handler(newVal, oldVal) {
            let relevant = newVal.a
            //whatever you needed to do to that
        },
        deep: true
    }
}

或者您可以使用Object.keys(val)来获取form数据对象属性键,如下所示:

    watch: {
     'form' (val) : {
        let keys= Object.keys(val)// gives ["a", "b"]
      // and do whatever you want with that keys
      }
   }