vue 路由

前端路由的优缺点:

优点:用户体验好,不需要每次都从服务器获取,快速展现给用户
缺点:1)不利于SEO;
2) 使用浏览器的前进后退键时会重新发送请求,没有合理的利用缓存
3)单页面无法记住之前滚动的位置,无法在前进后退的时候记住滚动的位置。

vue-router
  • vue-router用来构建SPA
  • <router-link></router-link>跳转 相当于a标签,用to链接
    或者 this.$router.push({path:""})
  • <router-view></router-view>组件的渲染和上边的配合使用。

动态路由匹配

/user/:username/post/:post_id
//匹配路由 /user/feifeilian/post/123
//通过$route.params可以获取到:
{
username:'feifeilian',
post_id:'123'
}

嵌套路由

就是路由里嵌套路由
比如商品列表里通过路由查看title页面和image页面:

/goods/title
/goods/img

要在嵌套的出口中渲染组件,需要在 VueRouter 的参数中使用 children 配置

 routes: [
    {
      path: '/goods',//动态路由配置,goodsId是动态的
      name: 'GoodList',
      component: GoodList,
      children:[
      {
        path:'title',
        name:'title',
        component: Title
      },
      {
        path:'img',
        name:'img',
        component: Image
      }
      ]
    }
  ]

但是要在上级路由下写渲染的接口, App.vue的<router-view> 是最顶层的出口,渲染最高级路由匹配到的组件。同样地,一个被渲染组件同样可以包含自己的嵌套 <router-view>。
所以要在goods组件下写出渲染接口router-view

//goods组件
<template>
  <div>
   这是商品列表页面 
   <router-link to="/goods/title">显示商品标题</router-link>
   <router-link to="/goods/img">显示商品图片</router-link>
   <div>
     <router-view></router-view>
   </div>
  </div>
</template>

编程式路由

编程式路由不需要router-link
三种方式

$router.push("name")
$router.push({path:"name"})
$router.push({path:"name?a=123"})
跟上边一样,通过query传$router.push({path:"name",query:{a:123}})
$router.go(1)

命名式路由和命名式视图

路由:给路由定义不同的名字,根据名字进行匹配,router-link
给不同的router-view定义名字,通过名字进行对应组件的渲染


$route对象的方法

  • $route.path

    • 类型:

      string

      字符串,对应当前路由的路径,总是解析为绝对路径,如

      "/foo/bar"

  • $route.params

    • 类型:

      Object

    一个 key/value 对象,包含了 动态片段 和 全匹配片段,如果没有路由参数,就是一个空对象。

  • $route.query

    • 类型:

      Object

      一个 key/value 对象,表示 URL 查询参数。例如,对于路径

      /foo?user=1,则有

      $route.query.user == 1,如果没有查询参数,则是个空对象。

  • $route.hash

    • 类型:

      string

      当前路由的 hash 值 (带

      #) ,如果没有 hash 值,则为空字符串。

  • $route.fullPath

    • 类型:

      string

      完成解析后的 URL,包含查询参数和 hash 的完整路径。

  • $route.matched

    • 类型:

      Array<RouteRecord>

    一个数组,包含当前路由的所有嵌套路径片段的

    路由记录

    。路由记录就是

    routes

    配置数组中的对象副本(还有在

    children

    数组)。

    const router = new VueRouter({
      routes: [
        // 下面的对象就是 route record
        { path: '/foo', component: Foo,
          children: [
            // 这也是个 route record
            { path: 'bar', component: Bar }
          ]
        }
      ]
    })
    

    当 URL 为

    /foo/bar$route.matched

    将会是一个包含从上到下的所有对象(副本)。

  • $route.name

    当前路由的名称,如果有的话。(查看

    命名路由

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,179评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,229评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,032评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,533评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,531评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,539评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,916评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,813评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,568评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,654评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,354评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,937评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,918评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,152评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,852评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,378评论 2 342

推荐阅读更多精彩内容

  • 1、使用 router-link 组件来导航,通过传入 to 属性指定链接,<router-link> 默认会被渲...
    _conquer_阅读 750评论 0 3
  • 对于前端来说,其实浏览器配合超级连接就很好的实现了路由功能。但是对于单页面应用来说,浏览器和超级连接的跳转方式已经...
    IT老马阅读 710评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,580评论 18 139
  • 昨天,我犯了一个错误。 打完球,拍照的时候把别人的脸拍到了,然后随手发到朋友圈,忘记打上马赛克。 当时自己也没注意...
    德荣说说阅读 510评论 0 1
  • 那时的衣服…土气中带着洋气 洋气里又透着土气… 漂亮帅气的海军衫~穿上真是朝气 当年觉得穿着帅呆了 还有当年冬天必...
    28a3f1889778阅读 224评论 0 0