微信小程序的路由跳转、路由传参
1、路由跳转声明式:就是指标签实现的跳转方式;编程式:就是指js事件实现的跳转方式;原生js跳转:(2种)声明式:a标签属性href编程式:location属性 hrefvue跳转:(2种)声明式:router-link属性to编程式:this.$router.push小程序跳转:(2种)声明式:navigator标签属性url(跳转的路径)小程序跳转的时候可以用绝对路径;也可以用相对路径...
·
1、路由跳转
声明式:就是指标签实现的跳转方式;
编程式:就是指js事件实现的跳转方式;
原生js跳转:(2种)
- 声明式:a标签 属性 href
- 编程式:location 属性 href
vue跳转:(2种)
- 声明式:router-link 属性to
- 编程式:this.$router.push
小程序跳转:(2种)
- 声明式:navigator标签 属性url(跳转的路径)小程序跳转的时候可以用绝对路径;也可以用相对路径。
- 编程式:利用js来跳转
小程序跳转注意事项:写路径的时候一定不要忘记加斜杠,理由:你如果不加斜杠的话,它就会在当前页面里面去找这个路径,那肯定找不到呀,因此写绝对路径时千万记得加斜杠。
小程序里面严格区分tabBar页面和非tabBar页面,那么问题来了,那我们如何区分呢?
我们可以参考一下微信公众平台里面的官方文档:
navigate:跳转的是非tabBar页面,它有一个open-type属性,后面跟的属性值可以帮助我们区分,以下为属性值:
navigate:跳转到非tabBar页面
switchTab:跳转到tabBar页面
navigateBack:返回上一级或多级(最多十级:超过十级返回首页)
redirectTo:关闭当前页面,跳转到应用内的某个页面,但是不允许跳转到tabBar页面
reLaunch:关闭所有页面,打开到应用的某个页面
navigate与redirectTo的区别:(因为navigate跳转的时候会给页面添加缓存,而redirectTo没有缓存。)
redirectTo(上一个页面不需要返回的时候使用:使用场景:支付页面完毕后使用;还有登陆后也可以使用)
redirectTo与reLaunch的区别:redirectTo关闭当前页面,跳转到某个页面,reLaunch关闭所有页面,跳转到某个页面。
2、路由传参
// 第一种传参方式:路径 ? 参数1=值 & 参数2=值 & 参数3=值
toShopCar(){
wx.navigateTo({
url:'/pages/pay/pay? username='+this.data.form.username+'&goodsNum='+this.data.form.goodsNum
})
}
// 第二种传参方式:模板字符串 路径 ? 参数1=${值} & 参数2=${值}
toShopCar(){
wx.navigateTo({
url:`/pages/pay/pay?username=${this.data.form.username}&goodsNum=${this.data.form.goodsNum}`
})
}
更多推荐
已为社区贡献1条内容
所有评论(0)