使用 Vuex 获取数据的 Vue mixin 不会导致组件更新
Vue mixin using Vuex for data is not causing components to update
我有一个使用 Vuex 商店的 vue mixin:
const rolesMixin = {
data: function () {
const user = store.state.authentication.currentUser;
return {
isAdmin: user === null ? false : user.admin,
};
}
};
Vue.mixin(rolesMixin);
当我在组件中使用 isAdmin
时,它不会在状态更改时重新呈现。必须有更好的方法来使用 mixin 渲染反应式组件,有人能指出我正确的方向吗?
用法:
<b-dropdown-item to="/admin/users" v-if="isAdmin">
User
</b-dropdown-item>
非常推荐使用计算属性来获取状态变化:
const rolesMixin = {
computed:{
isAdmin(){
const user = store.state.authentication.currentUser;
return user === null ? false : user.admin;
}
}
};
Vue.mixin(rolesMixin);
我有一个使用 Vuex 商店的 vue mixin:
const rolesMixin = {
data: function () {
const user = store.state.authentication.currentUser;
return {
isAdmin: user === null ? false : user.admin,
};
}
};
Vue.mixin(rolesMixin);
当我在组件中使用 isAdmin
时,它不会在状态更改时重新呈现。必须有更好的方法来使用 mixin 渲染反应式组件,有人能指出我正确的方向吗?
用法:
<b-dropdown-item to="/admin/users" v-if="isAdmin">
User
</b-dropdown-item>
非常推荐使用计算属性来获取状态变化:
const rolesMixin = {
computed:{
isAdmin(){
const user = store.state.authentication.currentUser;
return user === null ? false : user.admin;
}
}
};
Vue.mixin(rolesMixin);