当前位置:网站首页 > 技术博客 > 正文

动态路由配置总结



我们经常需要把某种模式匹配到的所有路由,全都映射到同个组件。例如,我们有一个 组件,对于所有 ID 各不相同的用户,都要使用这个组件来渲染。那么,我们可以在 的路由路径中使用“动态路径参数”(dynamic segment) 来达到这个效果:

现在呢,像 和 都将映射到相同的路由。

一个“路径参数”使用冒号 标记。当匹配到一个路由时,参数值会被设置到 ,可以在每个组件内使用。于是,我们可以更新 的模板,输出当前用户的 ID:

你可以看看这个在线例子

你可以在一个路由中设置多段“路径参数”,对应的值都会设置到 中。例如:

模式 匹配路径 $route.params /user/:username /user/evan /user/:username/post/:post_id /user/evan/post/123

除了 外, 对象还提供了其它有用的信息,例如, (如果 URL 中有查询参数)、 等等。你可以查看 API 文档 的详细说明。

提醒一下,当使用路由参数时,例如从 导航到 ,原来的组件实例会被复用。因为两个路由都渲染同个组件,比起销毁再创建,复用则显得更加高效。不过,这也意味着组件的生命周期钩子不会再被调用

复用组件时,想对路由参数的变化作出响应的话,你可以简单地 watch (监测变化) 对象:

或者使用 2.2 中引入的 导航守卫:

常规参数只会匹配被 分隔的 URL 片段中的字符。如果想匹配任意路径,我们可以使用通配符 ():

当使用通配符路由时,请确保路由的顺序是正确的,也就是说含有通配符的路由应该放在最后。路由 通常用于客户端 404 错误。如果你使用了History 模式,请确保正确配置你的服务器。

当使用一个通配符时, 内会自动添加一个名为 参数。它包含了 URL 通过通配符被匹配的部分:

使用 path-to-regexp 作为路径匹配引擎,所以支持很多高级的匹配模式,例如:可选的动态路径参数、匹配零个或多个、一个或多个,甚至是自定义正则匹配。查看它的文档 学习高阶的路径匹配,还有这个例子 展示 怎么使用这类匹配。

有时候,同一个路径可以匹配多个路由,此时,匹配的优先级就按照路由的定义顺序:路由定义得越早,优先级就越高。

  • 上一篇: linux最受欢迎的发行版
  • 下一篇: fcntl ioctl
  • 版权声明


    相关文章:

  • linux最受欢迎的发行版2025-07-10 22:30:04
  • ssm包括springboot吗2025-07-10 22:30:04
  • 循环队列的原理2025-07-10 22:30:04
  • 微信小程序源码免费下载2025-07-10 22:30:04
  • 异步fifo使用2025-07-10 22:30:04
  • fcntl ioctl2025-07-10 22:30:04
  • 快抢软件2025-07-10 22:30:04
  • 迭代器+12025-07-10 22:30:04
  • 独孤残红武侠销魂一指令奇书网2025-07-10 22:30:04
  • fastjson tojavalist2025-07-10 22:30:04