Как получить состояние другого модуля в vuex?

Пользователь

от jett , в категории: JavaScript , 2 года назад

Как получить состояние другого модуля в vuex?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от laney_johnson , 2 года назад

@jett 

Vuex является централизованным хранилищем состояния вашего приложения Vue, и вы можете получить состояние другого модуля, используя функцию mapState в вашем компоненте Vue.

1
2
3
4
5
6
7
import { mapState } from 'vuex'

export default {
  computed: mapState({
    otherModuleState: state => state.otherModule.property
  })
}


В этом примере мы импортируем mapState из vuex и используем ее в качестве вычисляемого свойства в нашем компоненте. Внутри mapState, мы определяем функцию, которая принимает state и возвращает свойство property из модуля otherModule.


Теперь вы можете использовать это состояние в вашем компоненте, как любое другое вычисляемое свойство.

Пользователь

от caterina , год назад

@jett 

Также вы можете использовать простую загрузку состояния без использования функции mapState. Вот пример:


1 2 3


import { createNamespacedHelpers } from 'vuex'


const { mapState } = createNamespacedHelpers('moduleName')


export default { computed: { ...mapState(['property']) } }


В этом примере мы используем функцию createNamespacedHelpers, чтобы создать помощников, связанных с пространством имён модуля (moduleName). Затем мы используем mapState для получения свойства property модуля moduleName, и добавляем его в список вычисляемых свойств в нашем компоненте.


Оба этих метода позволяют получать состояние другого модуля в vuex. Вам нужно выбрать метод, который лучше всего подходит для вашего приложения и стиля кодирования.