经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » Vue.js » 查看文章
vue路由插件之vue-route
来源:jb51  时间:2019/6/14 9:21:24  对本文有异议

vue路由插件,vuer Router,使vue官方的路由管理其,和vue高度耦合

  1.vue-Router的使用  

  1. import Vue from 'vue'
  2. import Router from 'vue-router' //引入路由组件
  3.  
  4. Vue.use(Router)
  5.  
  6. new Router({
  7. mode: 'history', //路由的两种模式 hash 和history 默认使history模式
  8. routes: [
  9. {
  10. path: '/',
  11. name: 'home',
  12. component: () => import(xxx.vue)
  13. },
  14. {
  15. path: '/about',
  16. name: 'about',
  17. component: () => import()
  18. }
  19. ]
  20. })

  2.路由的跳转

    this.$router.push('/path')

    this.$router.push({name:'routername'})

    路由的get方式传值

    this.$router.push({name:'routername',query:{id:xxx}})

    路由的post方式传值

    this.$router.push({name:'routername',params:{id:xxx}})

  3.路由的后退

    this.$router.go(-1) 

    this.$router.back()

  4.路由的前进

    this.$router.forward() 

  5.替换当前路由,在路由历史中不会再出现该路由

    this.$router.replace(location)

  6.当前路由的对象属性(一定要记得是小写的$route,并且没有r)

     this.$route.path   当前路由路径 path

     this.$route.name  当前路由名称

     this.$route.params.id  post方式传参时,获取id的值

     this.$route.query.id get方式传参时获取id的值

    this.$route.hash 当前路由的hash值,带#

   7.linkActiveClass

    当前激活的路由的class类名,默认是"router-link-active"

  8.scrollBehavior 

    切换路由时页面滚动到具体位子

  9.router-link 中的tag标签,生成具体的标签的html 元素

  10.router-view 路由组件具体渲染的地方

  11.全部的路由钩子函数(导航首位)

    11.1router.beforeEach  全局前置首位

    11.2router.beforeResolve 全局解析守卫

    11.3router.afterEach 全局后置守卫

    11.4beforeEnter 路由独享守卫

    组件内守卫

    11.5beforerouteEnter 进入

    11.6beforerouteUpdate  更新

    11.7beforerouteLeave 离开

  1. /* 全局前置守卫 */
  2. router.beforeEach(function (to, from, next) {
  3. // to 将要进路的路由 route
  4. // from 离开的路由 route
  5. // next 进入下一个路由,不调用则不会进入下一个路由
  6. console.log('全局前置守卫')
  7. next()
  8. })
  9.  
  10. /* 全局解析守卫 */
  11. router.beforeResolve((to, from, next) => {
  12. // to 将要进路的路由 route
  13. // from 离开的路由 route
  14. console.log('全局解析守卫')
  15. next()
  16. })
  17.  
  18. /* 全局后置守卫 */
  19. router.afterEach((to, from) => {
  20. // to 将要进路的路由 route
  21. // from 离开的路由 route
  22. console.log('全局后置守卫')
  23. })
  24. /* 组件独享守卫 */
  25. beforeEnter(to, from, next) {
  26. console.log('组件内独享守卫')
  27. next()
  28. }
  1.  beforeRouteEnter(to, from, next) {
  2. console.log('组件内守卫进入')
  3. next()
  4. },
  5. beforeRouteUpdate(to, from, next) {
  6. console.log('组件内守卫更新')
  7. next()
  8. },
  9. beforeRouteLeave(to, from, next) {
  10. console.log('组件内守卫离开前')
  11. next()
  12. }

  执行顺序,

    1.前组件内守卫离开

    2.全局前置守卫

    3.路由独享守卫

    4.组件内守卫进入

    5.全局解析守卫

    6.全局后置守卫

  或者时刷新组件时(/about 跳转到/about?id=1111)

    1.全局前置守卫

    2.组件内守卫更新

    3.全局解析守卫

    4.全局后置守卫

总结

以上所述是小编给大家介绍的vue路由vue-route的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号