vuex mapState всегда требует имя модуля в качестве аргумента, даже если namespaced:false

Я ожидал, что если у меня есть модуль, который имеет namespaced:false (что я думаю также является значением по умолчанию), тогда его состояние должно быть частью "глобального" или "корневого" пространства имен, и это я смог бы сделать " ...mapState('someStateAttribute') а затем обратитесь к someStateAttribute но казалось бы, что я должен использовать ...mapState('modulename','someStateAttribute') или это не работает.

Это как раз тот случай? или я что-то упустил?

1 ответ

Решение

Посмотри на mapState подпись:

mapState(namespace?: string, map: Array<string> | Object<string | function>): Object

Это означает первый аргумент, namespaceне является обязательным. Но если вы предоставите строку в качестве первого аргумента, это будет namespace,

Чтобы достичь того, что вы хотите, вы должны сделать:

...mapState(['someStateAttribute'])
Другие вопросы по тегам