路由router的注意事项

一、router简单函数

1.this.$router.push()

描述:跳转到不同的url,但这个方法回向history栈添加一个记录,点击后退会返回到上一个页面。

用法:

image

2.this.$router.replace()

描述:同样是跳转到指定的url,但是这个方法不会向history里面添加新的记录,点击返回,会跳转到上上一个页面。上一个记录是不存在的。

3.this.$router.go(n)

相对于当前页面向前或向后跳转多少个页面,类似 window.history.go(n)。n可为正数可为负数。正数返回上一个页面

image

二、小总结

this.$router.push("组建名")  //跳转  这个可以用在平行组件 我在子路由中使用发现不好用  具体不太清楚
this.$router.push({name:" 组件名 "});
this.$router.push({path:" 路径 "})
this.$router.push({name:"组件名",params:{code:2 }})   //跳转加传值
this.$route.params.code //接收参数值
<router-link  to=“/user/23”>K<router-link> //这中需要    user /:id
<router-link  :to={name:"ming" ,params:{name:"wangye"}}>ad<router-link>        //这两种路由都不需要user /:id
<router-link :to="{path:'/user/admin ' , params:{name:' wnahg ', age: ' sdsad  '}}">sd</router-link>
this.$router.push({path:'/user', query:{age:23} });
this.$route.query.age

三、路由中有三个基本的概念 route, routes, router

  • route 路由
  • routes 路由组
  • router 路由管理者

四、动态路由-嵌套路由

  • 配置:新建router文件夹index.js里配置路由,main.js导入vue对象里使用
  • 动态路由
<router-link  to="/user/25">

{  path : "/user/:id",  component : user  }
  • 嵌套路由
<router-link  to="/home/user">

{

path::"/home",

component: home,

children:[

     {  path:"/user",  component:user } 

  ]

} 
  • 命名路由
{
path: "/user/:id",
component:"user",
component:user
}
<router-link   to = "user/25">  user </router-link>
<router-link  :to = { name:"user", params :{ userID : 25 }}>  user </router-link>
// 当使用对象作为路由的时候,to前面要加一个冒号,表示绑定
  • 跳转-传参
主要应用在按钮上  调用   router.push()方法
通过  this.$router.push("user")    //就可以跳转到对应的组件
   // 还可以  传值
this.$router.push({ name:user , params:{ code:2 }})
this.$route.params.code  接收值
  • meta-重定向(默认显示)
meta: {
               requireAuth: true,             //这个还不知道什么意思    和设置title 无关
               wrapper: true                   // 同上
               title:首页
     }
  • 重定向
{

       path:'/',                   //因为  程序启动时 第一个进入的就是 /    所以用重定向避免错误

       name: 'default',

       redirect: '/index'
 },

四、深入router

  • 响应路由参数的变化
    动态路由切换时,原来的组件实例会被调用,每个路由渲染的是同个组件,复用高效,但同时组件的生命周期钩子将不会再被调用。
    故,服用组件时,使用 watch 监控 $route 对象,实现组件相应的改变。
const User = {

    template: '...',

    watch: {

        '$route' (to, from) { // 对路由变化作出响应... }

    }

}
  • 或使用2.2中的 beforeRouteUpdate 守卫
const User = {
      template: '...',
      beforeRouteUpdate (to, from, next) {
            // react to route changes...

            // don't forget to call next()
    }

}
  • 命名视图(多个路由层) router-view
    在界面中拥有多个单独命名的视图,而不是只有一个单独的出口。
    如果 router-view 没有设置名字(name),那么默认为 default。
<router-view></router-view> 

 <router-view name="a"></router-view>

一个视图使用一个组件渲染,因此对于同个路由,多个视图就需要多个组件。确保正确使用 components 配置(带上 s):

routes: [ {

    path: '/',

    components: {

        default: Foo,

        a: Bar

    }

} ]
  • HTML5 History 模式
    vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。如果不想要很丑的 hash,我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面。
const router = new VueRouter({

    mode: 'history',

    routes: [...]

})

当你使用 history 模式时,URL 就像正常的 url,例如 http://yoursite.com/user/id不过这种模式要玩好,还需要后台配置支持。因为我们的应用是个单页客户端应用,如果后台没有正确的配置,当用户在浏览器直接访问 http://oursite.com/user/id 就会返回 404,这就不好看了。所以呢,你要在服务端增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个 index.html 页面,这个页面就是你 app 依赖的页面。

  • this.$router.push() 传参
    params 传参
this.$router.push({name: '.....', params: {id: .....}})
params传参, 路径不能使用path 只能使用name,否则params将无效
取数据:  this.$route.params.id

query 传参

params传参, 路径可以使用path或者name
this.$router.push({path: '.....', query: {id: .....}})
取数据:  this.$route.query.id

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

推荐阅读更多精彩内容