Parameters nuxt:访问存储在vuex存储中的全局变量
在我的NUXT应用程序中,我必须为我的所有组件共享一个全局数组。 例如,此数组包含一周的标签:Parameters nuxt:访问存储在vuex存储中的全局变量,parameters,vuejs2,vuex,getter,nuxt.js,Parameters,Vuejs2,Vuex,Getter,Nuxt.js,在我的NUXT应用程序中,我必须为我的所有组件共享一个全局数组。 例如,此数组包含一周的标签: export const state = () => ({ days: [ { code: '1', label: 'Lundi' }, { code: '2', label: 'Mardi' }, { code: '3', label: 'Mercredi' }, ... ] }) export const getters = {
export const state = () => ({
days: [
{ code: '1', label: 'Lundi' },
{ code: '2', label: 'Mardi' },
{ code: '3', label: 'Mercredi' },
...
]
})
export const getters = {
getDayLabel (state, dayCode) {
return state.days[dayCode]
},
}
在我的组件中,我必须显示一天的标签。为此,我在组件的模板中编写了:
{{$store.getters['getDayLabel'](dayCode)}}
但是,我有一个错误:
app.js:262 TypeError:_vm.$store.getters.getDayLabel不是函数
我读过一些主题,getter函数不应该有参数?有更好的解决办法吗
Eric。不需要在存储区中为getter指定新参数 例如,一个仅使用索引检索信息的getter:
export const getters = {
getDayLabel: state => index => state.days[index]
}
在模板中:
{$store.getters['getDayLabel'](1.label}}-->输出=Mardi
如果确实要使用代码进行搜索,可以使用筛选功能:
getDayLabel: state => {
return dayCode => state.days.filter(c => {
return c.code === dayCode
})
}
在模板中:
{$store.getters['getDayLabel'](2)[0].label}}-->输出=Mardi
更多信息请点击此处
我不知道这是否是一个好的实践,因为我以前从未像这样使用过它,我总是直接在组件中对数据进行筛选