微信小程序学习(6) —— 页面跳转以及参数传递

关于页面的跳转,微信小程序有6中方法:

分别是

wx.navigateTo(OBJECT)函数,保留当前页面,跳转后可以返回原页面

wx.redirectTo(OBJECT)函数,跳转后不可返回原页面

wx.switchTab(OBJECT)函数,跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

wx.navigateBack(OBJECT)函数,关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。

wx.reLaunch(OBJECT)函数,关闭所有页面,打开到应用内的某个页面。

<navigator>组件

 

方法一:

使用API  wx.navigateTo()函数

 

示例:

首先先新建一个test页面

index.wxml:

在index.wxml新建一个button组件,并使用bindtap事件绑定一个函数

 

index.js:

在index.js中的Page函数内部,添加changeToTest 函数,函数里面使用wx.navigateTo,写上需要跳转的页面,里面传入的是一个对象,对象内使用url属性,对应的就是需要跳转的页面的路径(注意:这是接收的是一个相对路径,并且页面不需要使用.wxml后缀)

 

运行:

 

 

 

方法二:
使用API  wx.redirectTo()函数

 

 

示例:

首先先新建一个test页面

index.wxml:

在index.wxml新建一个button组件,并使用bindtap事件绑定一个函数

 

index.js:

运行:

 

 

 

备注:

1.

wx.navigateTo()和wx.redirectTo()的区别:

wx.navigateTo()是保留当前页面,跳转到某个页面,跳转页面后可以返回上一页。

wx.redirectTo()是关闭当前页面,跳转到某个页面,跳转页面后不能返回上一页。

 

方法三:
使用组件  <navigator>

示例:

首先先新建一个test页面


index.wxml:
在index.wxml页面添加一个<navigator>元素,在元素里面使用属性url就可以

运行:

 

跳转的数据传递

 

以wx.navigateTo为例:

上面讲述,wx.navigateTo传入的url是跳转的页面

wx.navigateTo({
    url:"pages/home/home"
});

那么参数传递至下一页面,则只需要在路径后面,添加?问号,?后面接的是参数,以key-value的方式。

这里传了个value为2的参数

wx.navigateTo({
    url:"pages/home/home?type=2"
});

然后在home.js中的onLoad()函数中得到值:option.type就可以得到了,如下:

onLoad: function (option) {
    this.setData({
        type:option.type,
    });
    console.log(option.type);
}

 

内容转自:微信小程序的页面跳转和参数传递 —— 微信小程序教程系列(6)