> 文章列表 > vue2路由(下)

vue2路由(下)

vue2路由(下)

编程式路由导航

通过点击按钮实现push和replace俩种模式的跳转

实现:就是通过$router原型里面的方法

也能实现路由的跳转和后退,分别采用的是$router里面的black和forward方法

感觉就是BOM对象中的history对象里面的方法 

正是前进,后是后退

总结:

作用:不借助 ``<router-link> ``实现路由跳转,让路由跳转更加灵活

具体编码:

//$router的两个API
this.$router.push({name:'xiangqing',params:{id:xxx,title:xxx}
})this.$router.replace({name:'xiangqing',params:{id:xxx,title:xxx}
})
this.$router.forward() //前进
this.$router.back() //后退
this.$router.go() //可前进也可后退

缓存路由组件

意思就是切换到Message组件时,还保留着input框内容

因为是组件切换,它被销毁了,需要重新渲染

 如果不想要它被销毁,只需用keep-alive包含组件,当然如果不添加include,它会把所有的组件都保留下来,这大可不必,因此通过添加include,把需要的组件保留下来

 这里要注意的是保留的是组件名不是路由名 

总结

作用:让不展示的路由组件保持挂载,不被销毁。

<keep-alive include="News"> <router-view></router-view>
</keep-alive>

如果要缓存多个组件,可以写成数组的形式 

俩个新的生命周期钩子

activated() 和deactivated()这个是路由组件独有的生命周期。它就是News组件显示到你面前就是激活,切换到message组件,它就失活

 总结:

* 作用:路由组件所独有的两个钩子,用于捕获路由组件的激活状态。
* 具体名字:
  1. ``activated``路由组件被激活时触发。
  2. ``deactivated``路由组件失活时触发。