Vue Router系列之(九)编程式路由导航
编程式路由导航
-
作用:不借助
<router-link>
实现路由跳转,让路由跳转更加灵活。 -
为什么需要除了<router-link>标签之外实现路由跳转的方式?
<router-link>标签最后变为<a>标签,无法实现button按钮的跳转
触发路由跳转可能需要异步触发,<router-link>标签也无法实现
-
具体编码:
//$router的两个API // vc.$router:VueRouter的实例 // console.log(this.$router) // push()方法和replace()方法是在VueRouter的原型对象身上的,顺着this.$router的_proto_就能找到 // 完成路由跳转,并且是对历史记录的push操作 // 与<router-link>标签中to属性的配置项内容完全相同 // this.$router.push({...})相当于如下代码,完成的功能也是一样的,展示指定组件(路由跳转)并传递参数 // <router-link :to="{ // name: 'detail', // params: { // id: m.id, // title: m.title // } // }"> // {{m.title}} // </router-link> this.$router.push({ name: 'detail', params: { id: m.id, title: m.title } }) // this.$router.replace({...})相当于如下代码,完成的功能也是一样的,展示指定组件(路由跳转)并传递参数 // <router-link replace :to="{ // name: 'detail', // params: { // id: m.id, // title: m.title // } // }"> // {{m.title}} // </router-link> this.$router.replace({ name: 'detail', params: { id: m.id, title: m.title } }) // 借助路由器实现历史记录中的前进操作 this.$router.forward() //前进 // 借助路由器实现历史记录中的后退操作 this.$router.back() //后退 this.$router.go() //可前进也可后退 // 相当于连点3次前进 this.$router.go(3) // 相当于连点4次后退 this.$router.go(-4)
注:借助路由器【$router】可以实现历史记录的所有操作(前进、后退、push、replace)
分类:
Vue / Vue Router
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!