Vuexストアに2つのモジュールがあります。
_var store = new Vuex.Store({
modules: {
loading: loading
posts: posts
}
});
_
モジュールloading
には、saving
またはtrue
のいずれかを設定できるfalse
プロパティと、_TOGGLE_SAVING
_という名前の変更関数があります。このプロパティを設定します。
モジュールposts
で、投稿を取得する前後に、プロパティsaving
を変更します。 posts
モジュール内のアクションの1つからcommit('TOGGLE_SAVING')
を呼び出すことでそれを行っています。
_var getPosts = function (context) {
contex.commit(TOGGLE_LOADING);
};
_
コミットしようとしたときに、コンソールに次のエラーが表示されました
_[vuex] unknown local mutation type: TOGGLE_LOADING, global type: posts/TOGGLE_LOADING
_
commit
を使用して別のモジュールの状態を変更するにはどうすればよいですか?
here ;推奨される次のパラメーターで試してください。
commit('TOGGLE_LOADING', null, { root: true })
namespaced
をtrueに設定している場合(Nuxtでは、モジュールモードのときのデフォルト)、これは次のようになります。
commit('loading/TOGGLE_LOADING', null, { root: true })
action を使用して、別のモジュールで定義された突然変異をコミットできます。その後、別のモジュールで状態を変更します。
このような:
posts: {
actions: {
toggleSavingActions(context) {
// some actions
context.commit("TOGGLE_SAVING"); // defined in loading module
}
}
}