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

我的数据对象:
data: {
    selected: {
        'type': null,'instrument': null
    },

我的模板:

<select v-model="selected['instrument']" @change="switchFilter('instrument',$event)">
    <option v-for="instrument in instruments" :value="instrument.value">@{{ instrument.text }}</option> 
</select>

<select v-model="selected['type']" @change="switchFilter('type',$event)">
    <option v-for="type in types" :value="type.value">@{{ type.text }}</option> 
</select>

如何同时查看两个选定的索引?每当任何索引更新时,我想做类似的事情:

watch: {
    selected: function(o,n) {
        ...
    }
}

解决方法

您可以使用 watcher从vue提供的深度选项.如文档中所述:

To also detect nested value changes inside Objects,you need to pass in deep: true in the options argument. Note that you don’t need to do so to listen for Array mutations.

您的代码如下所示:

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

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...