这里是把传过来的对象进行了解构 ,并给了默认值 ,这样写不用在意参数传递位置顺序,因为他们是根据对象的key名称来对应的
使用解构的方式来传参,这样就不用考虑传值顺序,参数会通过key来找对应的值
全局路由守卫
如果去的页面没有没有token,那么就强制跳转登录页
router.beforeEach((to,from,next)=>{
if(to.name!=='login'&&!localStorage.token) next({name:'login'})
else next()
})
keep-alive
keep-alive是vue中的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM, keep-alive包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们
使用原则:当我们在某些场景下不需要让页面重新加载时我们可以使用keepalive。
{
path: 'list',
name: 'itemList', // 列表页
component (resolve) {
require(['@/pages/item/list'], resolve)
},
meta: {
keepAlive: true,
title: '列表页'
}
}
<div id="app" class='wrapper'>
<keep-alive>
<!-- 需要缓存的视图组件 -->
<router-view v-if="$route.meta.keepAlive"></router-view>
</keep-alive>
<!-- 不需要缓存的视图组件 -->
<router-view v-if="!$route.meta.keepAlive"></router-view>
</div>