我想在.find()上执行Vuex getter方法。 但是当我这样做时,它会给我以下错误:
Uncaught TypeError: ur.find is not a function
我已经关注了文档,我似乎无法理解为什么我不能对vuex Getter提供的user-Object执行类似.find()或.forEach()的方法。 我做错了什么,或者这种想法超出了范围?
这是我的mixin auth.js
export const auth = {
methods: {
y(r){
const ur = this.$store.getters.getUserRoles;
console.log(ur); // Returns {__ob__: Observer}...
ur.find( uRole => { // ur.find is not a function
return uRole === r
})
}
}
};
这是来自主要vue的我的Vuex实例; app.js
const store = new Vuex.Store({
state: {
user: {}
},
mutations: {
setUser (state, data) {
state.user = data;
},
},
getters: {
getUserRoles(state){
return state.user.roles;
}
},
actions: {
getUser ({commit}) {
axios.get('/api/user').then(response => {
const data = response.data.data;
commit('setUser', data);
});
}
}
});
来自/api/user
的回复:
{
admin: true,
projectManager: false,
timeAdmin: false
}