Don*_*nie 59 javascript vue.js vuex
我想访问state.session
的instance.js
距离records_view.js
.这是如何完成的?
存储/模块/ instance.js
const state = {
// This is what I want to access in records_view.js
session: {}
};
const getters = {
sessionGetter: state => state.session
};
Run Code Online (Sandbox Code Playgroud)
存储/模块/ records_view.js
const actions = {
getSettingsAction (context, props) {
// This is how I'm trying to access session, which doesn't work
let session = context.state.instance.session;
Api(
context,
{
noun: props.noun,
verb: 'GetRecordsViewSettings',
orgUnitKey: _.has(session, 'orgunit.key') ? session.orgunit.key : '',
data: {}
},
props.callback
);
}
};
Run Code Online (Sandbox Code Playgroud)
这是为了增加一些背景.
存储/ index.js
import Vue from 'vue';
import Vuex from 'vuex';
import * as actions from './actions';
import * as getters from './getters';
import * as types from './mutation-types';
import instance from './modules/instance';
import recordsView from './modules/records_view';
Vue.use(Vuex);
export default new Vuex.Store({
state,
actions,
getters,
mutations,
modules: {
instance,
recordsView
}
});
Run Code Online (Sandbox Code Playgroud)
Don*_*nie 85
state
引用本地状态,rootState
应该在访问其他模块的状态时使用.
let session = context.rootState.instance.session;
Run Code Online (Sandbox Code Playgroud)
文档:https://vuex.vuejs.org/en/modules.html
小智 18
从动作:
'contacts:update' ({ commit, rootState }) {
console.log('rootState', rootState.users.form)
......
},
Run Code Online (Sandbox Code Playgroud)
Dan*_*ser 13
对我来说,我有 vuex 模块,但需要一个突变来更新不同文件中的 STATE。能够通过添加 THIS 来实现这一点
即使在模块中,您也可以通过 console.log(this.state) 查看您可以访问的全局状态
const mutations = {
MuteChangeAmt(state, payload) {
//From user module; Need THIS keyword to access global state
this.state.user.payees.amount = payload.changedAmt;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
39747 次 |
最近记录: |