Vue 路由模块入门
1 2 3 4 5 6 7 8 | 1.下载 npm i vue-router -S 2.安装插件Vue.use(VueRouter); 3.创建路由对象 var router = new VueRouter(); 4.配置路由规则 router.addRoutes([路由对象]); 路由对象{path: '锚点值' ,component:要显示的组件} 5.将配置好的路由对象交给Vue 在options中传递-> key叫做 router 6.使用组件 <router-view></router-view> |
-
- 路由的跳转方式
1 2 | 1.通过标签 <router-link to= '/login' ></router-link> 2.通过js控制跳转 this .$router.push({path: '/login' }) |
this.$router.push() 跳转到指定的url,会向history插入新记录
this.$router.replace() 同样是跳转到指定的url,但是这个方法不会向history里面添加新的记录,点击返回,会跳转到上上一个页面。上一个记录是不存在的。this.$router.go(-1) 常用来做返回,读history里面的记录后退一个;
vue-router中的对象:
$route 路由信息对象,只读对象;
$router 路由操作对象,只写对象 ;
- 路由的传参和取参
1. 查询参
配置(传参) :to="{name:'login',query:{id:loginid}}"
获取(取参) this.$route.query.id
2. 路由参数
配置(传参) :to="{name:'register',params:{id:registerid} }"
配置路由的规则 { name:'detail',path:'/detail/:id'}
获取 this.$route.params.id
:to传参的属性里 params是和name配对的 query和name或path都可以 ;使用路由参数必须要配置路由规则里面配置好参数名,否则刷新页面参数会丢失 ;
-
- 嵌套路由
使用场景:js跳转路由传参和标签传参,路由相同而参数不同时页面不做刷新的问题;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | //安装路由插件 Vue.use(VueRouter); //创建路由对象 var router= new VueRouter({ //配置路由对象 routes:[ { path: '' , redirect: '/nav' }, { path: '/nav' , name: 'nav' , component:Nav, //嵌套路由增加这个属性 children:[ //配置嵌套路由 {path: '' ,redirect: '/nav/index' }, {path: 'index' ,name: 'nav.index' ,component:Index}, {path: 'pensonal' ,name: 'nav.pensonal' ,component:Pensonal}, {path: 'message' ,name: 'nav.message' ,component:Message}, {path: 'mine' ,name: 'nav.mine' ,component:Mine}, ] } ] }) |
官方文档:
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
【推荐】AI 的力量,开发者的翅膀:欢迎使用 AI 原生开发工具 TRAE
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
· 深入理解 C# 异步编程:同步、Task.Wait () 与 await 的本质区别
· WPF 引用 ASP.NET Core 的 AOT 版本
· 通过 Canvas 将后端发来的一帧帧图片渲染成“视频”的实现过程
· 当加密ID需要变成Guid:为什么我选择了AES-CBC而非GCM?
· 基于 epoll 的协程调度器——零基础深入浅出 C++20 协程
· .NET周刊【8月第1期 2025-08-03】
· Manus快速搭建个人网站
· 这套 Java 监控系统太香了!我连夜给项目加上了
· 【译】GPT-5 现已在 Visual Studio 中可用
· 千亿消息“过眼云烟”?Kafka把硬盘当内存用的性能魔法,全靠这一手!