将 prop 值传递给组件内的计算属性

pass prop value to computed properties inside a component

possible/good 在组件内的计算 属性 函数中使用 prop 值是实践吗?如果是这样,我如何使用此道具构建 return?

Carousel.vue

props: [
  'source',
],
computed: {
   items () {
     return this.$store.state.(prop value source here).list
   }
}

store/categorya.js (categoryb 和 categoryc 相同)

import categorya from '(...)'
export const state = () => ({
  list: categorya
})

更新

Index.vue

carousel(source="categorya")
carousel(source="categoryb")
carousel(source="categoryc")

问题有点不清楚。如果 source 指定了一个 Vuex 模块名称,你可以使用括号表示法:

computed: {
  items () {
    return this.$store.state[this.source].list
  }
}

编辑后

仍然不清楚,但如果没有模块并且 list 是根状态的 属性,那么您只需使用:

computed: {
  items () {
    return this.$store.state.list
  }
}

list 首先由名为 categorya 的导入定义这一事实没有任何区别。它仍然是唯一可用的状态,它的名称只是 list.