如何从 Vuex 的另一家商店调用 getter?
Posted
技术标签:
【中文标题】如何从 Vuex 的另一家商店调用 getter?【英文标题】:How do I call a getter from another store in Vuex? 【发布时间】:2019-01-07 07:07:08 【问题描述】:我有vuex
一个商店abc.js
:
import Vue from 'vue';
const state =
recordType: null
;
const getters =
recordType: state => state.recordType,
;
.... other code
我还有其他vuex
商店xyz.js
:
import API from '@/api';
import Vue from 'vue';
const state =
messages: null
;
const getters =
messages: state => state.messages || [],
;
const actions =
async openRecord( dispatch, rootState, commit, state , record)
// api data
const response = await API.post('api/openrecord/',
recordUid: record.recordUid,
//**** HELP !!! HERE ****//
recordType: // *** HERE I need to get the recordType getter from abc.js
);
;
所以在
xyz.js
商店我需要从abc.js
获取recordType 值
【问题讨论】:
Vuex: Access State From Another Module的可能重复 【参考方案1】:您可以使用 rootGetters 属性以及指定命名空间:
rootGetters['abc/recordType']
在你的情况下,它给出:
const actions =
async openRecord( dispatch, rootGetters, commit, state , record)
// api data
const response = await API.post('api/openrecord/',
recordUid: record.recordUid,
recordType: rootGetters['abc/recordType']
);
;
【讨论】:
以上是关于如何从 Vuex 的另一家商店调用 getter?的主要内容,如果未能解决你的问题,请参考以下文章