1.页面跳转方式
(1)标签跳转
open-type的属性值对应api里的用法即wx.的用法
<navigator url="/page/navigate/navigate?title=navigate" open-type="switchTab" hover-class="navigator-hover">跳转到新页面</navigator>
(2)wx.navigateTo 方法跳转
此方法能够从跳转的页面会回到当前页面
wx.navigateTo({
url: 'pages/a/a'
})
(3)wx.switchTab 方法跳转只适用于调转到设置了tabbar的页面
wx.switchTab({
url: 'pages/index/index'
})
(4)wx.redirectTo 方法跳转会关闭当前页面跳转到某个页面
wx.redirectTo({
url: 'pages/a/a'
})
(5)wx.reLaunch 方法跳转会关闭所有打开的页面,跳转到某个页面
wx.reLaunch({
url: 'pages/a/a'
})
(6)wx.navigateBack 方法返回到父页面 ,可以多级返回
// 此处是A页面
wx.navigateTo({
url: 'B?id=1'
})
// 此处是B页面
wx.navigateTo({
url: 'C?id=1'
})
// 在C页面内 navigateBack,将返回A页面
wx.navigateBack({
delta: 2 //跳转的级数
})
2.页面跳转携带参数(以传递两个参数为例)
携带参数的跳转分两个方面,一方面是本页面传递参数,另一方是跳转页面接收参数,我就拿前两种方式作为例子
1.标签跳转携带参数
a页面
//a.wxml 页面传递
<navigator url="/pages/b/b?id=1&tu='a.jpg' " hover-class="none">
跳转到b
4<navigator>
b页面
//b.js 页面接收参数
onLoad: function (options) { //options用于接收上个页面传递过来的参数
var that = this;
that.setData({ //this.setData的方法用于把传递过来的id转化成小程序模板语言
b_id: options.id, //id是a页面传递过来的名称,a_id是保存在本页面的全局变量 {{b_id}}方法使用
b_tu: options.tu,
})
}
2.wx.navigateTo跳转携带参数
a页面
//a.wxml 绑定跳转函数
<view bindtap='tapLogin' >
立即登录
</view>
//a.js 跳转函数
tapLogin:function() {
//这一步是为了把模板语言转化成js语言
var id=that.data.id;
var tu = that.data.id
wx.navigateTo({
url: '/pages/b/b?id=' + 1 + "&tu=" + 'a.jpg'
});
},
b页面
//b.js 页面接收参数
onLoad: function (options) { //options用于接收上个页面传递过来的参数
var that = this;
that.setData({ //this.setData的方法用于把传递过来的id转化成小程序模板语言
b_id: options.id, //id是a页面传递过来的名称,a_id是保存在本页面的全局变量 {{b_id}}方法使用
b_tu: options.tu,
})
}