vue 路由跳转及传值和取值
vue 路由跳转及传值和取值
一.声明式:
使用router-link标签中的to属性:
1.无参数:
<router-link :to="{name:'index'}}"> 或者 <router-link to='/index'>
2.带参数:
<router-link :to="{name:'index',query:{id:'xxx',name:'xxx'}}">
二.编程式:
替换:
this.$router.replace{path:‘/login’ } //一般用户跳转错误页或登录页,这种路由时使用
push方法:
1.无参数:
this.$router.push('路由地址')
this.$router.go(-1) // 后退1步
this.$router.push({path:'路径')};//使用路由地址
this.$router.push({name:'路由名')};//使用路由名称
2.带参数:
使用query传参及取值:
//传参:
this.$router.push({path:'/test',query:{name:'张三', age:18}}); //url方式传参,等价于<a href="http://baidu.com?aa=xx&bb=xx">百度</a>
//在接收页面取值
this.$route.query.name//获取name值,其他雷同
使用params传参:
//传参
this.$router.push({name:'测试页',params:{name:'张三', age:18}});
//取值
this.$route.params.name
//坑一:name代表参数名称,(获取不到参数时,请看这句话:路由的params对象使用,必须要通过路由名来调用路由,而不同通过path来调用,而query对象则没有这个要求。)
//坑二:如果有子路由,并且父路由使用了redirect属性重定向到子路由时,传参时name一定是子路由的name(深坑)
路由配置如下:
{
name:'测试',//非此name
path: '/test',
component: Layout,
redirect: '/test/index',//使用此属性
children: [{
path: 'index',
name: '测试页',//子路由名称
meta: {
i18n: 'test'
},
component: () =>
import( /* webpackChunkName: "views" */ '@/views/util/test')
}]
},
使用路由地址传参:(动态路由)
//传参
this.$router.push({path:'/test${id}'});//此方式传参,需要调整路由
//取值
this.$route.params.id//id代表参数名称
//路由配置如下: { path: '/test:id',//变化点 component: Layout, redirect: '/test/index', children: [{ path: 'index', name: '测试', meta: { i18n: '测试页' }, component: () => import( /* webpackChunkName: "views" */ '@/views/test/index') }] }
为了明天能幸福,今天付出再多也不后悔。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 用 DeepSeek 给对象做个网站,她一定感动坏了
· DeepSeek+PageAssist实现本地大模型联网
· 手把手教你更优雅的享受 DeepSeek
· Java轻量级代码工程
· 从 14 秒到 1 秒:MySQL DDL 性能优化实战
2018-12-05 IIS隐藏网站