返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue--Router动态路由的用法示例详解
  • 275
分享到

Vue--Router动态路由的用法示例详解

Vue Router动态路由Vue Router路由Vue Router动态路由用法 2022-11-13 14:11:29 275人浏览 八月长安
摘要

目录官网网址动态路由概述同一路由多个参数path-to-regexpapi用法1. pathToRegexp()2、exec()3. parse()4. compile()本文介绍V

本文介绍Vue-Router中动态路由的用法。

官网网址

Vue官网:带参数的动态路由匹配 | Vue Router

动态路由概述

说明

很多时候,我们需要将给定匹配模式的路由映射到同一个组件。例如,我们可能有一个 User 组件,它应该对所有用户进行渲染,但用户 ID 不同。在 Vue Router 中,我们可以在路径中使用一个动态字段来实现,我们称之为 路径参数 。

路径参数 用冒号(:) 表示。当一个路由被匹配时,它的 params 的值将在每个组件中以 this.$route.params 的形式暴露出来。

示例

const User = {
  template: '<div>User</div>',
}
 
// 这些都会传递给 `createRouter`
const routes = [
  // 动态字段以冒号开始
  { path: '/users/:id', component: User },
]

现在像 /users/johnny 和 /users/jolyne 这样的 URL 都会映射到同一个路由。可以通过更新 User 的模板来呈现当前的用户 ID:

const User = {
  template: '<div>User {{ $route.params.id }}</div>',
}

同一路由多个参数

可以在同一个路由中设置有多个 路径参数,它们会映射到 $route.params 上的相应字段。

例如:

匹配模式

匹配路径

$route.params

/users/:username

/users/eduardo

{ username: 'eduardo' }

/users/:username/posts/:postId

/users/eduardo/posts/123

{ username: 'eduardo', postId: '123' }

path-to-regexp

简介

说明

vue-router底层是通过path-to-regexp来实现的路径参数。

工具库用来处理 url 中地址与参数,能够很方便得到我们想要的数据。

js 中有 RegExp 方法做正则表达式校验,而 path-to-regexp 可以看成是 url 字符串的正则表达式。

官网网址

GitHubgitHub - pillarjs/path-to-regexp at v1.7.0

github用法翻译:path-to-regexp介绍

在线测试:Express Route Tester

Api用法

npm install path-to-regexp
const pathToRegexp = require('path-to-regexp');

1. pathToRegexp()

作用:这里这个方法可以类比于 js 中 new ExpReg('xxx')。

var pathToRegexp = require('path-to-regexp')
var re = pathToRegexp('/foo/:bar')
console.log(re);    
// /^\/foo\/((?:[^\/]+?))(?:\/(?=$))?$/i

2、exec()

作用:匹配 url 地址与规则是否相符。

url路径与匹配规则不相符返回 null, 与匹配规则相符,返回一个数组

var pathToRegexp = require('path-to-regexp')
var re = pathToRegexp('/foo/:bar');     // 匹配规则
var match1 = re.exec('/test/route');    // url 路径
var match2 = re.exec('/foo/route');     // url 路径
console.log(match1); //null
console.log(match2); //[ '/foo/route', 'route', index: 0, input: '/foo/route' ]

3. parse()

作用:解析 url 字符串中的参数部分(:id)

返回一个数组,可得到 url 地址携带参数的属性名称(item.name)。

url 中携带参数出了 :id 这种形式,还有 /user?id=11 这种,使用 parse() 方法解析自行查看结果

var pathToRegexp = require('path-to-regexp');
var url = '/user/:id';
console.log(pathToRegexp.parse(url));
//[ '/user',{ name: 'id', prefix: '/',delimiter: '/',optional: false, repeat: false, partial: false, pattern: '[^\\/]+?' } ]

4. compile()

作用:快速填充 url 字符串的参数值。

var pathToRegexp = require('path-to-regexp')
 
var url = '/user/:id/:name'
var data = {id: 10001, name: 'bob'}
console.log(pathToRegexp.compile(url)(data)); // /user/10001/bob

到此这篇关于Vue--Router动态路由的用法的文章就介绍到这了,更多相关VueRouter动态路由内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue--Router动态路由的用法示例详解

本文链接: https://www.lsjlt.com/news/171872.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Vue--Router动态路由的用法示例详解
    目录官网网址动态路由概述同一路由多个参数path-to-regexpApi用法1. pathToRegexp()2、exec()3. parse()4. compile()本文介绍V...
    99+
    2022-11-13
    Vue Router动态路由 Vue Router路由 Vue Router动态路由用法
  • Vue路由router详解
    目录模块化的方式使用路由插件使用路由声明式导航编程式导航动态路由匹配通配符匹配路径查询参数query响应路由参数的变化命名路由,路由别名,重定向嵌套路由命名视图导航守卫(1)全局守卫...
    99+
    2024-04-02
  • 详解Vue router路由
    目录1.基本使用 2.几个注意点 3.多级路由(多级路由) 4.路由的query参数 5.命名路由6.路由的params参数 7.路由的props配置 8.编程式路由导航 ...
    99+
    2024-04-02
  • vue-router路由的示例分析
    这篇文章将为大家详细讲解有关vue-router路由的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。官方文档:旧版:https://github.com/vuej...
    99+
    2024-04-02
  • Vue路由vue-router用法讲解
    目录一、vue-router1、简介2、使用流程二、基本路由实现三、嵌套路由四、缓存路由组件1、为什么使用2、如何使用3、完整代码五、传递参数1、通过url传递(param传递)2、...
    99+
    2024-04-02
  • Vue3 中路由Vue Router 的使用实例详解
    目录前言:一、什么是 Vue Router ?二、路由的使用1、路由的安装2、路由的模式3、创建路由模块4、声明路由链接和占位符三、路由的重定向和别名四、嵌套路由五、声明式和编程式导...
    99+
    2023-02-18
    Vue3 路由Vue Router使用 Vue Router使用
  • vue router 动态路由清除方式
    目录router 动态路由清除vue-router退出登录清空路由router 动态路由清除 重置matcher可达到路由还原效果 在用户退出时调用 resetRouter(rout...
    99+
    2024-04-02
  • Vue router动态路由如何实现
    本文小编为大家详细介绍“Vue router动态路由如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue router动态路由如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。实...
    99+
    2023-07-05
  • Vue router 路由守卫详解
    目录一、全局前置beforeEach1.全局前置beforeEach2.实现二、需求二三、全局后置守卫afterEach1.修改title为自己的title四、组件内守卫1.befo...
    99+
    2024-04-02
  • 详解Vue-router嵌套路由
    目录步骤1.配置路由规则,使用children配置项:2.跳转(要写完整路径):总结 步骤 1.配置路由规则,使用children配置项: routes:[ { path:...
    99+
    2024-04-02
  • vue-router路由模式的示例分析
    这篇文章将为大家详细讲解有关vue-router路由模式的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、路由模式解析要讲vue-router的路由模式,首先要...
    99+
    2024-04-02
  • Vue实现动态路由导航的示例
    目录1、导航守卫二、功能展示 三、原理四、功能实现⛵小结1、导航守卫 “导航” 表示路由正在发生改变 正如其名,vue-router 提供的导航守卫...
    99+
    2023-02-24
    Vue 动态路由导航 Vue 路由导航
  • vue-admin-template 动态路由的实现示例
    提供登录与获取用户信息数据接口 在api/user.js中 import request from '@/utils/request' const Api = { Take...
    99+
    2024-04-02
  • vue2路由vue-router配置的示例分析
    小编给大家分享一下vue2路由vue-router配置的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!vue路由配置以及...
    99+
    2024-04-02
  • vue-router路由元信息的示例分析
    这篇文章主要为大家展示了“vue-router路由元信息的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue-router路由元信息的示例分析”这篇文...
    99+
    2024-04-02
  • vue动态路由配置及路由传参的示例分析
    这篇文章主要介绍了vue动态路由配置及路由传参的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。动态路由:  当我们很多个页面或者组件...
    99+
    2024-04-02
  • Vue路由vue-router详细讲解指南
    中文文档:https://router.vuejs.org/zh/ Vue Router 是Vue.js官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如...
    99+
    2024-04-02
  • TypeScript+Vue Router:动态路由管理的终极指南
    一、简介 TypeScript Vue Router是一种基于TypeScript的路由库,专门用于Vue.js应用程序。它通过提供以下功能来简化路由管理: 动态路由加载 路由导航守卫 路由元数据 二、安装和配置 要安装TypeSc...
    99+
    2024-02-15
    TypeScript, Vue Router, 动态路由, Vue.js
  • vue router动态路由清除方式是什么
    这篇文章主要介绍“vue router动态路由清除方式是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue router动态路由清除方式是什么”文章能帮助大家解决问题。ro...
    99+
    2023-06-30
  • Vue 动态路由的实现详情
    前言: 动态路由是一个常用的功能,根据后台返回的路由json表,前端动态显示可跳转的路由项,下面来讲解一下具体的实现方式: 大致业务需求:前端在login登陆页,输入账号密码后,点击...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作