Что такое объект "контекст" Vuex?
Я пытаюсь лучше понять, что такое объект "контекст" в Vuex.
на контекст объекта упоминается много раз в документации Vuex. Например, в https://vuex.vuejs.org/en/actions.html, мы имеем:
обработчики действий получают объект контекста, который предоставляет тот же набор методы / свойства экземпляра store, поэтому вы можете вызвать контекст.совершить совершить мутация...
Я понимаю как использовать его, а также что мы можем использовать деструктурирование, если мы хотим использовать только "фиксацию" из объекта контекста, но надеялись на немного большую глубину, чтобы я мог лучше понять, что происходит.
для начала я нашел пару ~ 8,5-летних сообщений на "объекте контекста" в качестве шаблона: что такое шаблон проектирования объекта контекста? и можете ли вы объяснить дизайн контекста шаблон?
однако, в частности, для Vuex, я хотел бы лучше понять:
- что такое объект контекста / какова его цель?
- что все свойства/методы, которые он делает доступными для использования в Vuex?
спасибо!
2 ответов
С документация вы указали, что можете читать:
мы увидим, почему этот объект контекста не является экземпляром хранилища, когда мы введем модули позже.
основная идея объекта контекста состоит в том, чтобы абстрагировать область текущего модуль. Если вы просто доступ store.state
, это всегда будет корневое состояние.
контекстный объект действий и его свойства / методы описал здесь в исходном коде а также ссылки в документация по API
вот список:
{
state, // same as store.state, or local state if in modules
rootState, // same as store.state, only in modules
commit, // same as store.commit
dispatch, // same as store.dispatch
getters, // same as store.getters, or local getters if in modules
rootGetters // same as store.getters, only in modules
}
для начала я нашел пару ~ 8,5-летних сообщений на "объекте контекста" в качестве шаблона ...
Я думаю, вы слишком много читаете.
Я не думаю, что документы Vuex ссылаются на какой-то конкретный вид "объекта контекста", который известен и определен в другом месте, они просто означают, что объект, который передается обработчикам действий (и в других ситуациях, как описано в документах), является пользовательским объектом, который они см. как "контекстный" объект по собственному определению.
причина, по которой они предоставляют этот объект, заключается в том, что он содержит свойства, специфичные для модуль для этого конкретного обработчика.