Vue中的路由导航

news/2024/10/21 10:08:55/

声明式路由导航

router官网-起步
声明式路由导航其实就是使用官方给的<router-link>路由导航标签直接进行路由跳转

<body>
<div id="app"><!--<router-link>路由导航标签,用于找到path属性中url对应的组件,通过传入 `to` 属性指定链接.<router-link> 默认会被渲染成一个 `<a>` 标签--><router-link to="/login">注册</router-link><router-link to="/reg">登陆</router-link><!-- 路由出口<router-view>路由出口标签,相当于路由导航标签的一个中转站,通过点击不同的路由导航标签来实时的展示该导航标签所对应的组件,路由匹配到的组件将渲染在这里--><router-view></router-view>
</div>
<script>// 1. 定义 (路由) 组件。var login={template:'<div><h1>登陆页面</h1></div>'}var register={template: '<div><h1>注册页面</h1></div>'}//2.定义路由:创建全局路由对象var router=new VueRouter({//路由的配置/*** 路由模式:* 1.hash模式:默认的, http://localhost:8080/#/路由路径* 2.history模式:http://localhost:8080/路由路径** 使用mode属性切换路由模式*/mode: 'history',//路由列表,用于存放单个路由对象的数组routes:[/*** 单个路由对象用于描述路径url与组件的对应关系,有两个属性:path、component* path: 以/开头,路由路径* component: 路由路径对应的组件*/{path:'/login',component:login},{path:'/reg',component:register},]})new Vue({el: '#app',//3.在Vue对象中注册路由对象router})
</script>
</body>

编程式路由导航

router官网-编程式路由导航
除了使用 创建 a 标签来定义导航链接,我们还可以借助 router 的实例方法,通过编写代码来实现

<body>
<div id="app"><h1>欢迎使用路由导航</h1><h2>编程式导航</h2><p><!--开启路由导航--><button type="button" v-on:click="doQuery('/login',10,'tom')">登陆按钮</button><button type="button" v-on:click="doQuery('/reg',20,'jerry')">注册按钮</button><button type="button" v-on:click="doParams('user',30,'jack')">用户按钮</button><button type="button" v-on:click="doParams('emp',40,'lishi')">员工按钮</button></p><router-view></router-view>
</div><script>var login = {template: '<div><h1>登陆组件</h1><p>{{$route.query}}</p></div>'}var register = {template: '<div><h1>注册组件</h1><p>{{$route.query}}</p></div>'}var user = {template: '<div><h1>用户组件</h1><p>{{$route.params}}</p></div>'}var emp = {template: '<div><h1>员工组件</h1>{{$route.params}}</div>'}var router = new VueRouter({mode: 'history',routes: [//注册单个路由,有两个重要的属性:path(路由对应的路径)、component(路径对应的组件)//下面每个大括号包裹的都是一个单个路由,在配置路由时,可以为每一个路由起一个唯一的名字(名字任意只要不重复即可),此路由被称为命名路由{path: '/login', name:'login', component: login},{path: '/reg', name:'reg', component: register},{path:'/user', name:'user', component:user},{path:'/emp', name:'emp', component:emp}]})new Vue({el: '#app',//在Vue对象中注册路由对象router,methods:{doQuery(path,id,name){/*** 编程式导航传参* 在push或replace方法中传入的不是路由路径,而是一个对象,该对象有两个重要的属性用于接收方法中的参数* 1.query传参:path属性对应的是路径,query属性对应的是参数对象** 2.params传参:name对应路由名称(要求路由必须为命名路由),params参数对象.*              特点:1.无需使用动态路由匹配*                   2.参数在传递的过程中隐藏,不会出现在地址栏中*/this.$router.push({path: path,query:{id:id,name:name}})},doParams(routeName,id,name){this.$router.push({name: routeName,//路由名称,如果将name换成path,则params里面的数据获取不到params:{id:id,name:name}})}}})
</script>
</body>

http://www.ppmy.cn/news/48336.html

相关文章

Spring的循环依赖

什么是循环依赖&#xff1f; 循环依赖其实就是循环引用&#xff0c;也就是两个或者两个以上的 bean 互相持有对方&#xff0c;最终形成闭环。比如 A 依赖于 B&#xff0c;B 依赖于 C&#xff0c;C 又依赖于 A。如下图&#xff1a; 注意&#xff0c;这里不是函数的循环调用&…

rk3568-rk809电池电量计

简介&#xff1a; RK809 集成在RK3568上的一个高性能的 PMIC&#xff08;(Power Management IC):电源管理集成电路&#xff09;&#xff0c;PMIC全称Power management integrated circuit&#xff0c;一般情况下是一颗独立于主控的芯片&#xff0c;集成了电源控制&#xff0c;电…

Nginx rewrite ——重写跳转

Nginx常见模块 http http块是Nginx服务器配置中的重要部分&#xff0c;代理、缓存和日志定义等绝大多数的功能和第三方模块的配置都可以放在这模块中。作用包括&#xff1a;文件引入、MIME-Type定义、日志自定义、是否使用sendfile传输文件、连接超时时间、单连接请求数上限等…

不讲废话普通人了解 ChatGPT——基础篇第一课

wx供重浩&#xff1a;创享日记 获取更多内容 文章目录 前言什么是 ChatGPT它是如何工作的ChatGPT 和其它机器人有什么不同 前言 不知道大家在第一次会使用 ChatGPT 并尝试和他对话时有没有感到震惊。当ChatGPT首次推出时&#xff0c;我立即被它的功能所吸引。 曾经在遇到繁杂…

设计模式 -- 装饰模式

前言 月是一轮明镜,晶莹剔透,代表着一张白纸(啥也不懂) 央是一片海洋,海乃百川,代表着一块海绵(吸纳万物) 泽是一柄利剑,千锤百炼,代表着千百锤炼(输入输出) 月央泽,学习的一种过程,从白纸->吸收各种知识->不断输入输出变成自己的内容 希望大家一起坚持这个过程,也同…

【通知】CSDN学院:<华为流程体系课程> 正式上线啦!

目录 前言 适用人群 你将收获 课程介绍 前言 经过两个月的准备和短视频测试&#xff0c;这门介绍华为流程体系的课程就正式上线了。 虽然由于公开的原因&#xff0c;华为的发展受到了一定程度的影响&#xff0c;但是丝毫不妨碍企业、以及一些个人对学习华为的热情。 原因…

Qt扫盲-QAbstractSeries理论总结

QAbstractSeries理论总结 一、概述二、常用函数1. 属性2. 设置功能3. 显示隐藏4. 与 绘图的交互 三、信号 一、概述 QAbstractSeries类是所有Qt图表线的基类。通常&#xff0c;特定于序列类型的继承类会被使用&#xff0c;而不是这个基类。这个基类只是提供了一些管理和控制这…

使用Swagger生成在线文档

目录 1&#xff1a;Swagger介绍 2&#xff1a;使用 2.1&#xff1a;swaager集成boot依赖 2.2&#xff1a;配置文件中配置相关信息 2.3&#xff1a;在启动类中加入相关注解 2.4&#xff1a;测试 3&#xff1a;swagger常用注解 1&#xff1a;Swagger介绍 在前后端分离开发…