在动作中访问状态显示空状态
Accessing state inside action shows empty state
重新加载页面后(使用 vuexPersistedState),我在如下操作中访问我的状态:
updateOuterValue: ({
commit
}, data) => {
console.log(state);
...
}
localstorage
显示了保留的状态,它也按应有的方式传送到组件。
但是在动作内部,状态是空的。它怎么显示空状态值?
好的,我知道了。我可以使用 getters
访问 action
:
中的状态
updateOuterValue: ({
commit,
getters
}, data) => {
...
console.log(getters.getForm); // WORKS
...
}
另一种方法是直接处理 state
,例如:
updateOuterValue: ({
commit,
state // <--- HERE
}, data) => { ... }
您的操作方法的第一个参数是上下文,第二个参数是负载:
updateOuterValue: (context, data) => {
//here you could get access to the other options via context
context.state.outerValue=data;
}
或像您在回答中所做的那样销毁上下文
重新加载页面后(使用 vuexPersistedState),我在如下操作中访问我的状态:
updateOuterValue: ({
commit
}, data) => {
console.log(state);
...
}
localstorage
显示了保留的状态,它也按应有的方式传送到组件。
但是在动作内部,状态是空的。它怎么显示空状态值?
好的,我知道了。我可以使用 getters
访问 action
:
updateOuterValue: ({
commit,
getters
}, data) => {
...
console.log(getters.getForm); // WORKS
...
}
另一种方法是直接处理 state
,例如:
updateOuterValue: ({
commit,
state // <--- HERE
}, data) => { ... }
您的操作方法的第一个参数是上下文,第二个参数是负载:
updateOuterValue: (context, data) => {
//here you could get access to the other options via context
context.state.outerValue=data;
}
或像您在回答中所做的那样销毁上下文