gpt4 book ai didi

javascript - 观察者不与 Vuex 一起工作

转载 作者:搜寻专家 更新时间:2023-10-30 22:58:20 26 4
gpt4 key购买 nike

我遇到了一个问题,即我的组件中的数据更改时未触发观察者。数据中的属性是 react 性的,因为它是在组件创建时设置的,而不是稍后设置的。

这是一段代码,其中的问题是:

https://codesandbox.io/s/nlpvz0y6m

为了更详细地解释,status 属性从父级获取它的状态,实习生从 Vuex 状态对象获取它,它被成功传递给组件,因为我能够记录它并更改它。

然而,当我设置一个观察者,在它的值发生变化时执行一个函数,它根本不会触发。无论我如何进行更改 - 无论是使用组件的内部方法还是事件。

我需要的是让观察者在状态属性发生变化时触发,但不确定为什么它根本不反射(reflect)它。

结构如下:BottomBar 是父组件,一个 bool 值作为属性传递给 Spin.vue 作为 prop,然后将 prop 分配给子组件上的数据属性。

bool 值本身来自 index.js,Vuex 实例所在的位置。

最佳答案

在控制台中,显示以下两个错误

[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);
}
}
});

关于javascript - 观察者不与 Vuex 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51479114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com