我在写一个小demo 没有后台的接口数据, 只能自己使用localstroage模拟的,在注册页面将userName这个字段存进localStroage中, 我想 一打开主页面就先进行判断 localstroage中是否存有userName这个字段,我想得是使用在mian.js中使用beforeEach这个钩子函数, 但是不知道该如何进行下去写,求各位大神帮忙
这是app.vue
TRIPICS|运营后台
{{loginName}} 个人设置 系统设置 退出系统
登录 |注册 项目 财务
export default {
props:{ type:Array, storage:false, 'loginName':'' }, data(){ return{ } }, methods: { handleOpen(key, keyPath) { console.log(key, keyPath); }, handleClose(key, keyPath) { console.log(key, keyPath); } }, computed:{ storage:{ get:function(){ } } }, beforeRouteEnter(to,from,next){ console.log(this) }, beforeRouteLeave (to, from, next){ console.log(to) }
}
下面是main.js
import Vue from 'vue'
import Element from 'element-ui'
import 'element-ui/lib/theme-default/index.css'
import VueRouter from "vue-router";
import VueResource from 'vue-resource'
import App from './app.vue'
import Login from './components/login.vue'
import Resiger from './components/resiger.vue'
import Persional from './components/persional.vue'
import System from './components/system.vue'
import Project from './components/project.vue'
import Money from './components/money.vue'
Vue.config.debug = true;
Vue.use(VueRouter)
Vue.use(VueResource);
Vue.use(Element)
const router = new VueRouter({
routes:[ {path:'/login',name:'/login',component:Login}, {path:'/resiger',name:'/resiger',component:Resiger}, {path:'/system',name:'/system',component:System}, {path:'/personal',name:'/personal',component:Persional}, {path:'/project',name:'/project',component:Project}, {path:'/money',name:'/money',component:Money,}, {path:'/',name:'/',component:Login} ]
})
router.beforeEach((to,from,next) => {
console.log(localStorage.getItem('username')) if(localStorage.getItem('username')){ console.log(123) }else{ console.log(456)
next() }
/*if(localStorage.getItem('username')){ console.log(localStorage.getItem('username')) }else{ next({ path:'/login' }) }*/
})
const app= new Vue({
router:router, render: h => h(App), data:{ storage:'', loginName:'' }
}).$mount('#app')