Javascript 组件中的数据对象未定义
我在vue组件的数据中定义了如下对象:Javascript 组件中的数据对象未定义,javascript,vuejs2,vue-component,Javascript,Vuejs2,Vue Component,我在vue组件的数据中定义了如下对象: export default { components: {..} data: () => { filter: ({ from: 2017, to: 2018 } }), computed: mapState({ fooObjects: (state) => { console.log(this.filter) // print undefined } })
export default {
components: {..}
data: () => {
filter: ({
from: 2017,
to: 2018
}
}),
computed: mapState({
fooObjects: (state) => {
console.log(this.filter) // print undefined
}
}),
...
}
您能告诉我如何访问computed属性中的filter对象以及为什么filter未定义吗?正如你所看到的,我已经用2年的时间初始化了它。谢谢。有几件事。首先,括号没有从第4行开始对齐。其次,为了访问this.filter,您的数据方法必须返回一个json对象。你让它返回过滤器 以下代码应允许您访问此.filter
不要在计算机上使用箭头函数,它们被绑定到父上下文,这将不是您所期望的Vue实例。您还应该从数据方法返回一个对象。这在下面工作 导出默认值{ 组件:{..}, 资料{ 返回{ 过滤器:{ 日期:2017年, 截止日期:2018年 } } }, 计算:{ fooObjects:函数{ return console.logthis.filter } }
}@stack001stack001没问题!
export default {
components: {..}
data: () => {
return {
filter: {
from: 2017,
to: 2018
}
}
},
computed: mapState({
fooObjects: (state) => {
console.log(this.filter) // print undefined
}
}),
...
}