当前位置:  开发笔记 > 编程语言 > 正文

如何在Vue 2中查看数据对象中的所有键

如何解决《如何在Vue2中查看数据对象中的所有键》经验,为你挑选了3个好方法。



1> Saurabh..:

您可以使用来自vue deep的观察者提供的选项.如文档中所述:

要检测对象内的嵌套值更改,还需要在options参数中传入deep:true.请注意,您不需要这样做来侦听Array突变.

您的代码如下所示:

watch: {
    'selected': {
        handler: function (val, oldVal) {
            console.log('watch 1', 'newval: ', val, '   oldVal:', oldVal)
        },
        deep: true
    }
}



2> 小智..:

我认为您可以这样做:

watch: {
    $data: {
        handler: function(val, oldVal) {
            console.log(val)
        },
        deep: true
    }
},


我认为这个答案仍然增加了一个新角度。干燥而优雅。:)

3> CodinCat..:
watch: {
  'selected.type': function (newSelectedType) {
    console.log(newSelectedType)
  },

  'selected.instrument': function (newSelectedinstrument) {
    console.log(newSelectedinstrument)
  }
}

如果您只是尝试计算新数据selected,则可以使用计算属性,因为Vue的数据是被动的,计算属性也可以检测数据的变化.


如果你想使用一个单一的功能观看整个对象,你可以用$watchdeep: true:

mounted () {
  this.$watch('$data.selected', this.onSelectedUpdate, { deep: true })
}

请注意,这'$data.selected'是一个字符串,Vue将解析它.

在你的方法中:

onSelectedUpdate (newSelected) {
  console.log(newSelected)
}

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有