Vue (20) — 路由的query参数以及params参数、命名路由、路由的props配置、<router-link>的replace属性

目录

一、路由的query参数

1.传递参数

2.接收参数

二、命名路由

  1.作用

  2.如何使用

        1.给路由命名

            2.简化跳转

三、路由的params参数

  1.配置路由,声明接收params参数

  2.传递参数

  3.接收参数

四、路由的props配置

五、<router-link>的replace属性

  1.作用

  2.浏览器的历史记录有两种写入方式

  3.如何开启replace模式


一、路由的query参数

1.传递参数

<!-- 跳转路由并携带query参数,to的字符串写法 -->
<router-link :to="`/home/message/detail?id=${m.id}&title=${m.title}`">{
   
   {m.title}}</router-link>&nbsp;&nbsp;

<!-- 跳转路由并携带query参数,to的对象写法 -->
<router-link :to="{
    path:'/home/message/detail',
    query:{
        id:XXX,
        title:'你好'
    }
}">
跳转
</router-link>

2.接收参数

$route.query.id

$route.query.title

二、命名路由

  1.作用

        可以简化路由的跳转。

  2.如何使用

        1.给路由命名

   {
        path:'/demo',
        component:Demo,
        children:[
            {
                path:'test',
                component:Test,
                children:[
                    {
                        name:'hello',//给路由命名
                        path:'welcome',
                        component:Hello,
                    }
                ]
            }
        ]
    }

            2.简化跳转

 <!-- 简化前,需要写完整路径 -->
<router-link to="/demo/test/welcome">跳转</router-link>

<!-- 简化后,直接通过名字跳转 -->
<router-link :to="{
   
   {name:'hello'}}">跳转</router-link>

<!-- 简化写法配合传递参数 -->

<router-link
    :to={
       name:'hello',
       query:{
          id:666,
          title:'你好'
       }
     }>
 跳转
</router-link>

三、路由的params参数

  1.配置路由,声明接收params参数

{
    path:'/home',
    component:Home,
    children:[
        {
            path:'news',
            component:News
        },
        {
            component:Message,
            children:[
                {
                    name:'xiangqing',
                    path:'detail/:id/:title',   //使用占位符声明接收params参数
                    component:Detail
                }
            ]
        }
    ]
}

  2.传递参数

<!-- 跳转路由并携带params参数,to的字符串写法 -->
<router-link :to="`/home/message/detail/666/你好`">跳转</router-link>

<!-- 跳转路由并携带params参数,to的对象写法 -->
<router-link :to="{
    name:'xiangqing',
    params:{
    id:666,
    title:'你好'
}">
跳转
</router-link>

特别注意:路由携带 params 参数时,若使用 to 的对象写法,则不能使用 path 配置项,必须使用 name 配置项!!

  3.接收参数

$route.params.id

$route.params.title

四、路由的props配置

        作用:让路由组件更方便的收到参数

{
    name: 'xiangqing',
    path: 'detail/:id/:title',
    component: Detail,

    //props的第一种写法,值为对象,该对象中的所有key-value都会以props的形式传给Detail组件
    // props:{a:1,b:'hello'}

    //props的第二种写法,值为布尔值,若布尔值为真,就会把该路由组件收到的所有params参数,以props的形式传给Detail组件
    // props:true

    //props的第三种写法,值为函数
    props($route) {
        return {
            id: $route.query.id,
            title: $route.query.title
        }
    }
}

五、<router-link>的replace属性

  1.作用

        控制路由跳转时操作浏览器历史记录的模式

  2.浏览器的历史记录有两种写入方式

        分别为 push 和 replace , push 是追加历史记录,replace 是替换当前记录。路由跳转的时候默认为push

  3.如何开启replace模式

  <router-link replace......>News</router-link>

猜你喜欢

转载自blog.csdn.net/m0_59897687/article/details/122285390