【发布时间】:2019-06-21 16:42:09
【问题描述】:
在我的 Vue 组件中,我有一个计算属性,它监视状态和组件,并返回一个对象。
currentOrganization () {
if (this.$store.state.organizations && this.selectedOrganization) {
return this.$store.state.organizations.filter(org => org.id === this.selectedOrganization)[0];
}
}
不幸的是,这个属性在组件加载时不会自动更新,尽管我可以看到我同时拥有this.$store.state.organizations 和this.selectedOrganization。但是,当我通过下面的选择组件向我的 Vuex 存储发送操作时,它会更新:
<b-form-select id="orgSelect"
v-model="selectedOrganization"
:options="this.$store.state.organizations.map(org => {return {value: org.id, text:org.name}})"
size="sm"
v-on:input="currentOrganizationChange()"
class="w-75 mb-3">
<template slot="first">
<option :value="null" disabled>Change Organization</option>
</template>
</b-form-select>
组件调度一个 Vuex 动作:
currentOrganizationChange () {
this.$store.dispatch('setCurrentOrganization', this.selectedOrganization);
},
如何让currentOrganization() 进行初始计算?
【问题讨论】: