美文网首页
# Vue全家桶之vue-route

# Vue全家桶之vue-route

作者: 小小奶狗 | 来源:发表于2018-06-07 19:23 被阅读66次

前端路由,优点就是体验爽,缺点就是不利于SEO,无法记住页面上下级。

router-view占位渲染模版,router-link类似于超链接作为前端路由页面导航。this.$router.push({path:'/'})这是JS逻辑代码上的路由页跳转,也叫编程式路由

  1. 动态路由匹配

    • 当我们需要查看某个实体的具体信息时,视图页面应该都是同样的,但是接收到后端的数据不同,URL上的路由也不同。
    • 这时候的动态路由匹配类似于RESTFul中使用GET方式获取某实体某编号的详细信息,例如/users/:id匹配到/users/102,此时可以使用$route.params获取这样的Request数据: {id: 102}
    • 复杂一点:/users/:uid/goods/:gid可以匹配到类似/users/102/goods/32这样的路由,代表第102号用户请求第32件商品,至于到底这个请求是需要做删除,修改还是查询操作,我们要看HTTP方法是什么。实际上考虑到安全性,这里的ID在大型项目中一般会使用uuid的长加密方式去实现。此处的$route.params获取到的Request数据为{uid: 102,gid: 32}
  2. 嵌套路由

    • 常搭配router-view制作后台页面,类似AJAX一部刷新局部页面的效果。
    • 嵌套路由和嵌套组件类似,import导入组件后使用children: []定义子路由,参数有path:name:component:
    • 子路由path不允许使用根目录,组件名一般首字母大写驼峰命名。
    • 嵌套子路由router-link的to属性必须写绝对路径,这种形式又叫做陈述路由
  3. 编程式路由

    • 下面示例的路由path路径建议使用单引号。

    • 编程式路由一般通过点击按钮触发函数实现,函数内部使用这样的语句:this.$router.push({path: '/goods'})

    • 下面是路由的跳转,同时携带参数。目标页面可以使用$route.params接收传递过来的参数。

    • 定义路由API使用router,获取路由参数使用route

      $router.push('name')
      $router.push({path: '/goods'})
      $router.push({path: 'name?age=23'})
      $router.push({path: 'name', query: {age: 23}})
      $router.go(1)
      
  4. 命名路由和命名视图

    • 基于router-link的命名路由一般这样写:<router-link :to='{name: 'Cart'}'>,这里的name为路由中组件定义时的名字。
    • 如果要实现带参数的命名路由,你可以这样写:<router-link :to='{name: 'Cart', params: {cartId: 123}}'>
    • 给不同的router-view添加name,可以使页面分块显示多个组件,类似于后台界面。这里的name值和路由定义的name值要一致。
    • 类似于上左右结构的UI,一般不会用多个router-view去实现,而是在父组件中嵌套左右两个组件实现。

相关文章

  • # Vue全家桶之vue-route

    前端路由,优点就是体验爽,缺点就是不利于SEO,无法记住页面上下级。 router-view占位渲染模版,rout...

  • 2019-03-25

    vue 全家桶 Vue有著名的全家桶系列,包含了: vue-router,vuex,vue-re...

  • 前端面试2021.4.9

    面试题正文: 1.vue全家桶包含哪些? 答案:vue全家桶与react全家桶介绍 2.v-model是什么?怎么...

  • 前端面试2021.4.9

    面试题正文: 1.vue全家桶包含哪些? 答案:vue全家桶与react全家桶介绍 2.v-model是什么?怎么...

  • Vue生态圈(全家桶)

    vue全家桶及项目架构 Vue有著名的全家桶系列,包含了vue-router(http://router.vuej...

  • vue + typescript

    Vue全家桶+TypeScript使用总结

  • vue 全家桶之 vuex

    Vuex 是什么? 有时候我们需要全局操作组件的状态,父子组件传参又太过于繁琐,这个时候我们选择vuex 来作为全...

  • vue全家桶之vuex

    vuex是什么鬼? 如果你用过redux就能很快的理解vuex是个什么鬼东西了。他是vuejs用来管理状态的插件。...

  • vue全家桶

    vue-cli + vue2.0 + vuex + vue-route + axios + element-ui ...

  • VUE全家桶

    注意:这里只讲VUE脚手架搭建的项目首先安装开发环境,vue-cli 一键搭建vue项目是基于 Node.js 所...

网友评论

      本文标题:# Vue全家桶之vue-route

      本文链接:https://www.haomeiwen.com/subject/dzknsftx.html