vue页面跳转,以及携带参数,获取参数
js操作路由(即编程式的导航)进行页面跳转:1. 返回/前进一页:返回:this.$router.go(-1)、this.$router.back()。前进:this.$router.go(1)2. 跳转到其他页://params只能用name来引入路由,类似于post,在浏览器地址栏中不显示参数,//而query 要用path引入,似于我们ajax中get传参,在浏览器地址栏中显示参数this.
·
js操作路由(即编程式的导航)进行页面跳转:
1. 返回/前进一页:
返回:this.$router.go(-1)、this.$router.back()。
前进:this.$router.go(1)
2. 跳转到其他页:
//params只能用name来引入路由,类似于post,在浏览器地址栏中不显示参数,
//而query 要用path引入,似于我们ajax中get传参,在浏览器地址栏中显示参数
this.$router.push("/parent")
this.$router.push({path:"/parent",query:{name:"ace"}) //即浏览历史纪录保存着,query是参数。获取参数:this.$route.query.name
this.$router.push({path:`/argu/${name}`}) //es6带参数跳转,针对router.js中配置path: '/argu/:name',。获取参数:this.$route.query.name
this.$router.push({name:"parent",params:{name:"ace"}) //带参数跳转。获取参数:this.$route.params.name
3. 用其他页替换本页:this.$router.replace("/about")或this.$router.replace({name:"parent"}),即浏览历史纪录没有了。
4. 基于动态路由的页面(path: '/argu/:name')传值。
{
path: '/argu/:name',
props:true, //表示允许Argu.vue组件中props:{}中接受name参数值,然后可以直接渲染在页面{{name}}
component: () => import( './views/argu.vue' )
}
5. 基于普通页面传参,对象模式传参。
{
path: '/about',
props:{
food:"香蕉"
}, //表示允许about.vue组件中props:{}中接受food参数值,然后可以直接渲染在页面{{food}}
component: () => import( './views/argu.vue')
}
6. 基于普通页面传参,函数模式传参。
{
path: '/parent',
props: route=>{
return {
food:route.query.food
}
}, //表示允许parent.vue组件中props:{}中接受food参数值,然后可以直接渲染在页面{{food}}
component: () => import( './views/argu.vue')
}
更多推荐
已为社区贡献21条内容
所有评论(0)