微信小程序学习(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)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序中,可以使用`wx.navigateTo`或`wx.redirectTo`方法跳转页面,并且可以通过传递参数的方式将数据传递到目标页面。具体实现方法如下: 1. 在源页面中,使用`wx.navigateTo`或`wx.redirectTo`方法跳转到目标页面,并将数据以对象的形式传递给目标页面。例如: ```javascript wx.navigateTo({ url: '/pages/target/target?id=123&name=小明&age=18', }); ``` 在上述代码中,我们将数据以查询字符串的形式传递给目标页面,查询字符串的键值对以`&`分隔,键和值之间以`=`连接。 2. 在目标页面的`onLoad`生命周期函数中,获取传递过来的数据。例如: ```javascript onLoad: function (options) { console.log(options); // { id: '123', name: '小明', age: '18' } }, ``` 在上述代码中,我们可以通过`options`参数获取传递过来的数据,`options`是一个对象,包含了所有传递过来的查询字符串的键值对。 需要注意的是,如果传递的数据是一个对象,可以使用`JSON.stringify`方法将其转换成字符串,然后在目标页面中使用`JSON.parse`方法将其转换回对象。例如: ```javascript // 在源页面中传递对象参数 const obj = { id: 123, name: '小明', age: 18 }; wx.navigateTo({ url: `/pages/target/target?data=${JSON.stringify(obj)}`, }); // 在目标页面中获取对象参数 onLoad: function (options) { const data = JSON.parse(options.data); console.log(data); // { id: 123, name: '小明', age: 18 } }, ``` 在上述代码中,我们将传递的对象参数使用`JSON.stringify`方法转换成字符串,然后将其以查询字符串的形式传递给目标页面。在目标页面中,使用`JSON.parse`方法将其转换回对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值