如何在javascript中访问另一个对象中的嵌套对象?

如何在javascript中访问另一个对象中的嵌套对象?,javascript,object,vue.js,vue-router,Javascript,Object,Vue.js,Vue Router,我正在使用Vue.js,我有一个数据对象,我想动态访问属性。但我似乎无法动态访问filters对象的属性 export export default { template: ``, data() { return { something: 'This is some value.', filters: { fullSearch: 'This is full search.'

我正在使用Vue.js,我有一个数据对象,我想动态访问属性。但我似乎无法动态访问filters对象的属性

export export default {
    template: ``,
    data() {
        return {
            something: 'This is some value.',
            filters: {
                fullSearch: 'This is full search.'
            }
        }
    }
}
我可以访问“某物”,但无法动态访问filters.fullSearch

export export default {
    template: ``,
    data() {
        return {
            something: 'This is some value.',
            filters: {
                fullSearch: 'This is full search.'
            }
        }
    }
}
这很有效

console.log(this['something']) // This is some value.
但这是行不通的

console.log(this['filters.fullSearch']) // Component.js:589 undefined
这是完整的代码。我正在遍历此.$route.query的所有属性,并将它们分配给我的数据中的筛选器,如下所示。但它不起作用。我做错了什么

for (let [key, value] of Object.entries(this.$route.query)) {
    if (this['filters.' + key] !== undefined) {
        this['filters.' + key] = value
    }
}

您需要用右键寻址内部对象

或具有静态属性

this.filters.fullSearch

您已经混合了点和括号符号。以下解决方案将起作用

for (let [key, value] of Object.entries(this.$route.query)) {
    if (this['filters'][key] !== undefined) {
        this['filters'][key] = value
    }
}
应该是

console.log(this['filters']['fullSearch'])


console.log(此['filters']['fullSearch'])将起作用。第一个的可能重复会产生语法错误:未捕获的语法错误:意外标识,这是因为字符串末尾没有
(单引号)。第一个给出-syntax错误:未捕获的语法错误:意外标识是否尝试了此操作['filters']['fullSearch']?是否使用括号中的键作为字符串?
console.log(this['filters'].fullSearch)
console.log(this.filters.fullSearch)