Javascript 如何从另一个js文件访问getter
考虑一个laravel+vuejs项目: 我想通过使用store.getters.currentUser在Acces.js文件中获取我的currentUser角色,但它不起作用 呈现中出错:“TypeError:无法读取的属性'getters' 未定义 我尝试了很多方法,但都没有成功!有什么帮助吗 这是my Acces.js:Javascript 如何从另一个js文件访问getter,javascript,vue.js,ecmascript-6,vuex,Javascript,Vue.js,Ecmascript 6,Vuex,考虑一个laravel+vuejs项目: 我想通过使用store.getters.currentUser在Acces.js文件中获取我的currentUser角色,但它不起作用 呈现中出错:“TypeError:无法读取的属性'getters' 未定义 我尝试了很多方法,但都没有成功!有什么帮助吗 这是my Acces.js: import {store} from './store' export default class Acces { Admin(){ return
import {store} from './store'
export default class Acces {
Admin(){
return store.getters.currentUser.role ==="admin";
}
NotUser(){
return store.getters.currentUser.role === "admin" || store.getters.currentUser.role === "chef de projet" ||store.getters.currentUser.role === "client" ;
}
Chef(){
return store.getters.currentUser.role === "chef de projet";
}
client(){
return store.getters.currentUser.role === "client";
}
adminchef(){
return store.getters.currentUser.role === "admin" || store.getters.currentUser.role === "chef de projet";
}
chefUser(){
return store.getters.currentUser.role !== "admin" || store.getters.currentUser.role === "chef de projet" ||user.role !== "client"
}
};
还有这个store.js:
import { getLocalUser } from "./helpers/auth";
const user = getLocalUser();
export default {
state: {
currentUser: user,
isLoggedIn: !!user,
loading: false,
auth_error: null,
customers: []
},
getters: {
isLoading(state) {
return state.loading;
},
isLoggedIn(state) {
return state.isLoggedIn;
},
currentUser(state) {
return state.currentUser;
},
authError(state) {
return state.auth_error;
},
customers(state) {
return state.customers;
}
},
mutations: {
login(state) {
state.loading = true;
state.auth_error = null;
},
loginSuccess(state, payload) {
state.auth_error = null;
state.isLoggedIn = true;
state.loading = false;
state.currentUser = Object.assign({}, payload.user, {token: payload.access_token});
localStorage.setItem("user", JSON.stringify(state.currentUser));
},
loginFailed(state, payload) {
state.loading = false;
state.auth_error = payload.error;
},
logout(state) {
localStorage.removeItem("user");
state.isLoggedIn = false;
state.currentUser = null;
},
updateCustomers(state, payload) {
state.customers = payload;
}
},
actions: {
login(context) {
context.commit("login");
},
getCustomers(context) {
axios.get('/api/customers')
.then((response) => {
context.commit('updateCustomers', response.data.customers);
})
}
}
};
改变
到
改变
到
import {store} from './store'
import store from './store'