Что такое объект Vuex "context"?
Я пытаюсь лучше понять, что такое объект "контекст" в Vuex.
объект контекста упоминается много раз в документации Vuex. Например, в https://vuex.vuejs.org/en/actions.html , мы имеем:
Обработчики действий получают объект контекста, который предоставляет тот же набор методы / свойства на экземпляре магазина, так что вы можете вызвать контекст.совершить, чтобы совершить мутацию...
Я понимаю. как использовать его, а также что мы можем использовать деструкцию, если мы только хотим использовать "фиксацию" из объекта контекста, но надеялись на немного большую глубину, просто чтобы я мог лучше понять, что происходит.
Для начала я нашел пару сообщений ~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 ссылаются на какой-то конкретный вид "объекта контекста", который известен и определен в другом месте, они просто означают, что объект, который передается обработчикам действий (и в других ситуациях, как описано в документах), является пользовательским объектом, который они называют "контекстным" объектом по своему усмотрению. определение.
Причина, по которой они предоставляют этот объект, заключается в том, что он содержит свойства, специфичные для модуля для этого конкретного обработчика действий.