Javascript 监视程序不使用Vuex
我的组件中的数据更改时未触发监视程序,这是我遇到的问题。数据中的属性是被动的,因为它是在组件创建时设置的,而不是以后设置的 下面是一段代码,其中的问题是: 为了更详细地解释,status属性从父对象获取其状态,intern从Vuex状态对象获取它,它正在成功地传递到组件,因为我能够记录并更改它 然而,当我设置一个观察者,在其值发生变化时执行一个函数时,它不会触发。无论我如何进行更改—无论是使用组件的内部方法还是事件 我需要的是观察者在状态属性更改时触发,但不确定为什么它根本不反映它 其结构如下:BottomBar是父级,bool值作为属性传递给Spin.vue作为属性,然后将该属性指定给子组件上的数据属性Javascript 监视程序不使用Vuex,javascript,vue.js,vuex,Javascript,Vue.js,Vuex,我的组件中的数据更改时未触发监视程序,这是我遇到的问题。数据中的属性是被动的,因为它是在组件创建时设置的,而不是以后设置的 下面是一段代码,其中的问题是: 为了更详细地解释,status属性从父对象获取其状态,intern从Vuex状态对象获取它,它正在成功地传递到组件,因为我能够记录并更改它 然而,当我设置一个观察者,在其值发生变化时执行一个函数时,它不会触发。无论我如何进行更改—无论是使用组件的内部方法还是事件 我需要的是观察者在状态属性更改时触发,但不确定为什么它根本不反映它 其结构如下
bool值本身来自index.js,Vuex实例位于index.js中 在控制台中,它显示以下两个错误
[vuex] unknown getter: isSpinning
[vuex] unknown mutation type: spinIt
问题似乎在于商店是如何建立的。试试这个
export const store = new Vuex.Store({
state: {
controls: {
spin: false
}
},
getters: {
isSpinning: state => {
return state.controls.spin;
}
},
mutations: {
spinIt(state) {
return (state.controls.spin = !state.controls.spin);
}
}
});
你有你的突变和获得者坐在你的状态。我将它们移到了外部,并更新了内部的引用,以使代码按预期工作