state.session
にinstance.js
、records_view.js
にアクセスしたいとします。これはどのように達成されますか?Vuex:別のモジュールからのアクセス状態
const state = {
// This is what I want to access in records_view.js
session: {}
};
const getters = {
sessionGetter: state => state.session
};
店/モジュール/ 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
);
}
};
instance.js
店/モジュール/これは、追加のコンテキストの少しのためのものです。
店/ 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
}
});
私はあなたがここで言及したすべてのものを持っています。コンポーネント内からセッションにアクセスできますが、別のVuexモジュール(つまりrecords_view.js)の中からセッションにアクセスする方法がわかりません。 – Donnie
@Donnie try 'context.rootState.instance.session' – Saurabh