微信小程序页面跳转方法和携带参数详解

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
<navigator>

b页面
//b.js 页面接收参数
onLoad: function (options) {       //options用于接收上个页面传递过来的参数
var that = this;
that.setData({                             //this.setData的方法用于把传递过来的id转化成小程序模板语言
b_id: options.id,     //id是a页面传递过来的名称,b_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页面传递过来的名称,b_id是保存在本页面的全局变量   {{b_id}}方法使用
b_tu: options.tu,
})
}





你可能感兴趣的:(微信小程序)