传递参数的 Vuex 反应式 mapGetter
Vuex reactive mapGetters with arguments passed through
我有很多 getter 向商店传递参数,例如:
this.$store.getters['getSomeThing'](this.id)
而且我没有找到关于如何最佳地使用 mapGetters
来保持反应性,同时传递参数的建议。我发现的一个建议是映射 getter 然后将参数传递给 mounted:
computed: {
...mapGetters([
'getSomeThing'
])
},
mounted () {
this.getSomeThing(this.id)
}
这似乎确实不是最佳选择,因为它只会检查已安装状态的更改。关于在将参数传递给 getter 时如何最好地保持反应性的任何建议?下面是与上述代码匹配的 getter 示例:
getSomeThing: (state) => (id) => {
return state.things.find(t => { return t.id === id })
}
这是我的一个项目的片段:
computed: {
...mapGetters('crm', ['accountWithId']),
account() {
return this.accountWithId(this.$route.params.id)
}
},
这使得 this.account
反应并依赖于参数。
所以...
computed: {
...mapGetters([
'getSomeThing'
]),
thing() {
return this.getSomeThing(this.id)
}
},
我有很多 getter 向商店传递参数,例如:
this.$store.getters['getSomeThing'](this.id)
而且我没有找到关于如何最佳地使用 mapGetters
来保持反应性,同时传递参数的建议。我发现的一个建议是映射 getter 然后将参数传递给 mounted:
computed: {
...mapGetters([
'getSomeThing'
])
},
mounted () {
this.getSomeThing(this.id)
}
这似乎确实不是最佳选择,因为它只会检查已安装状态的更改。关于在将参数传递给 getter 时如何最好地保持反应性的任何建议?下面是与上述代码匹配的 getter 示例:
getSomeThing: (state) => (id) => {
return state.things.find(t => { return t.id === id })
}
这是我的一个项目的片段:
computed: {
...mapGetters('crm', ['accountWithId']),
account() {
return this.accountWithId(this.$route.params.id)
}
},
这使得 this.account
反应并依赖于参数。
所以...
computed: {
...mapGetters([
'getSomeThing'
]),
thing() {
return this.getSomeThing(this.id)
}
},