文章の目录

  • 一、动态匹配路由的基本用法
    • 1、思考:
    • 2、应用场景:通过动态路由参数的模式进行路由匹配
  • 二、路由组件传递参数
    • 1、props的值为布尔类型
    • 2、props的值为对象类型
    • 3、props的值为函数类型
  • 写在最后

一、动态匹配路由的基本用法

1、思考:

<router-link to="/user/1">User1</router-link><router-link to="/user/2">User2</router-link><router-link to="/user/3">User3</router-link>
// 定义如下三个对应的路由规则,是否可行???{ path: "/user/1", component: User },{ path: "/user/2", component: User },{ path: "/user/3", component: User }

2、应用场景:通过动态路由参数的模式进行路由匹配

var router = new VueRouter({routes: [// 动态路径参数 以冒号开头{ path: "/user/:id", component: User }]});
const User = {// 路由组件中通过$route.params获取路由参数template: "User {{ $route.params.id }}"};

二、路由组件传递参数

$route与对应路由形成高度耦合,不够灵活,所以可以使用props将组件和路由解耦

1、props的值为布尔类型

// 创建路由实例对象const router = new VueRouter({// 所有的路由规则    // 如果 props 被设置为 true,route.params 将会被设置为组件属性routes: [{ path: "/user/:id", component: User, props: true }]});
const User = {props: ["id"], // 使用 props 接收路由参数template: "用户ID:{{ id }}" // 使用路由参数};

2、props的值为对象类型

// 创建路由实例对象const router = new VueRouter({// 所有的路由规则routes: [// 如果 props 是一个对象,它会被按原样设置为组件属性{ path: "/user/:id", component: User, props: { uname: "lisi", age: 20 } }]});
const User = {props: ["uname", "age"],template: "用户信息:{{ uname + '---' + age}}"};

3、props的值为函数类型

// 创建路由实例对象const router = new VueRouter({// 所有的路由规则routes: [// 如果 props 是一个函数,则这个函数接收 route 对象为自己的形参{path: "/user/:id",component: User,props: route => ({ uname: "zs", age: 20, id: route.params.id })}]});
const User = {props: ["id", "uname", "age"],template: "用户信息:{{ uname + '---' + age + '---' + id}}"};

写在最后

如果你感觉文章不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果你觉得该文章有一点点用处,可以给作者点个赞;\\*^o^*//
如果你想要和作者一起进步,可以微信扫描二维码,关注前端老L~~~///(^v^)\\\~~~
谢谢各位读者们啦(^_^)∠※!!!