缓存路由组件
由于切换路由的时候,不是简单的隐藏原路由,而是销毁。所以如果想保存原路由的的一些东西就得用缓存路由(当然你也能用浏览器本地存储LocalStore)
当一个路由组件下有两个子路由组件,子路由组件如果需要缓存,就在父路由组件设置缓存。
只需要在父组件的显示区加上keep-alive标签,设置include表示News需要缓存,如果不设设置,就是全部页面缓存。
如果有多个页面可以这样指定:
两个新的生命周期函数
这两个函数很简单,在切换路由时调用。可用于停掉一些路由器等
回顾一下另外一个特殊的生命周期函数
this.$nextTick({
function(){。。。。。。}
})
在页面渲染完成时调用
比如我要点编辑按钮 让一个input变成可编辑,再自动获取焦点。
直接写vue时先执行完所有的代码再更新界面,由于没有更新界面将input改为可编辑,焦点就获取不了。
如果把获取焦点放到this.$nextTick里面就能更新界面再获取焦点了
路由守卫(重要)
相当于拦截器,用于检查此路由组件是否展示
全局路由守卫
全局路由守卫配置:
// 该文件专门用于创建整个应用的路由器
import VueRouter from 'vue-router'
//引入组件
import About from '../pages/About'
import Home from '../pages/Home'
import News from '../pages/News'
import Message from '../pages/Message'
import Detail from '../pages/Detail'
//创建并暴露一个路由器
const router = new VueRouter({
routes:[
{
name:'guanyu',
path:'/about',
component:About,
meta:{
title:'关于'}
},
{
name:'zhuye',
path:'/home',
component:Home,
meta