什么是编程式导航?
用js代码来进行跳转
有两种跳转的方式
1、通过path路径跳转(简易方便)
// 第一种写法(简写)
this.$router.push('路由路径')
// 第二种写法(完整的写法)
this.$router.push({
path:'路由路径'
})
2、通过路由名(name)跳转(适合路径名字长的场景)
// 首先要给路由起一个 name 名字
{name:'路由名' , path:'路由路径' , component:组件}
// 然后使用路由名跳转页面
this.$router.push({
name:'路由名'
})
编程式导航路由传参的两种方式
查询参数传参 + 动态路由传参
1、path 路径跳转传参(query传参) (两种写法)
2、name 命名路由跳转传参 (两种写法)
两种跳转方式,对于两种传参方式都支持
1、通过path路径跳转传参的方式
(1)、查询参数传参的方式(query传参)
// 第一种写法
this.$router.push('/路径?参数名1=参数值1&参数名2=参数值2')
// 第二种写法
this.$router.push({
path:'/路径',
query:{
参数名1:'参数值1',
参数名2:'参数值2'
}
})
// 接收传递的参数
$route.query.参数名
(2)、动态路由传参的方式(需要配动态路由)
// 第一种写法
this.$router.push('/路径/参数值')
// 第二种写法
this.$router.push({
path:'/路径/参数值'
})
// 接收传递的参数
$route.params.参数名
2、通过name命名路由跳转d的传参方式
(1)、查询参数传参的方式(query传参)
this.$router.push({
name:'路由名',
query:{
参数名1:'参数值1',
参数名2:'参数值2'
}
})
// 接收传递的参数
$router.query.参数名
(2)、动态路由传参(需要配动态路由)
this.$router.push({
name:'路由名',
params:{
参数名:'参数值',
}
})
// 接收传递的参数
$router.params.参数名