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