Я знаю, что могу наблюдать за состояниями / получателями vuex из Vue компонентов, используя параметр $watch
.
Вместо этого я хотел бы наблюдать за состояниями / получателями внутри модуля Vuex. Я хочу, чтобы бизнес-лог c, который выполняется при изменении состояния / получателей, полностью внутри модуля vuex. Причина в том, что этот logi c относится к приложению и не связан с каким-либо компонентом в частности.
Я знаю, что есть функция наблюдения за хранилищем , но я не уверен, как использовать его внутри модуль vuex. Если я добавлю такой код в свой модуль vuex sessions
:
import store from '@/store'
store.watch((state, getters) => {
return getters['session/idleTime']
},
newVal => {
if (newVal > 600) {
// notify user session is about to expire
}
})
я получаю store
is undefined error, потому что это создает циклическую зависимость (например, store пытается загрузить модуль sessions
, пока тот же модуль пытается импортировать и использовать объект хранилища)
Итак, есть ли способ выполнить наблюдение за состоянием / получателями в модуле vuex?