import Home from '../components/Home';
import Login from '../components/Login';
import Register from '../components/Register';
import MessageCenter from '../components/Message-center';
import service from '../services/services';
import VueRouter from 'vue-router';
const router = new VueRouter();
export default {
routes: [
{ path: '/home', component: Home },
{ path: '/login', component: Login },
{
path: '/message',
component: MessageCenter,
beforeEnter: (to, from, next) => {
// let name = localStorage.userName;
// service.checkLog(name)
// .then(res => {
// let data = res.data;
// if (data.isLogin == false) {
// localStorage.isLogin = false;
// router.push({ path: '/login' });
// } else {
// localStorage.isLogin = true;
// }
// })
// .catch(err => console.log(err));
let isLogin = JSON.parse(localStorage.isLogin);
if(!isLogin){
console.log('executed!'); //这句话执行了
router.push({ path: '/login' }); //为什么不转跳到Login组件,而是直接跳到了个人中心?
}
next();
}
},
{ path: '/register', component: Register },
{ path: '*', redirect: '/home' }
]
}
下面这的语句是执行的,但是却没转跳到login组件,而是直接转跳到了message center,为什么呢?
if(!isLogin){
console.log('executed!');
router.push({ path: '/login'});
}
你试试 这样子加上 Vue.use(VueRouter); 或者怎么写 router.push({ path: 'login'});