使用Vuex获取数据的Vue mixin不会导致组件更新



我有一个使用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);

最新更新