微信小程序wx.navigateTo方法中events参数如何使用详情介绍?

2026-04-09 08:221阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1000个文字,预计阅读时间需要4分钟。

微信小程序wx.navigateTo方法中events参数如何使用详情介绍?

wx.navigateTo方法中的events参数详解及场景:

微信小程序wx.navigateTo方法用于打开一个新页面,保留当前页面。events参数是一个对象,用于监听新页面的生命周期函数。

微信小程序2.7.3版本中,wx.navigateTo方法新增了events属性。以下是events参数的详细说明及使用场景:

微信小程序wx.navigateTo方法中events参数如何使用详情介绍?

1. 作用:events参数允许开发者监听新页面的生命周期函数,例如onLoad、onShow等。

2. 属性说明:- `onLoad`: 页面加载时触发,参数为options对象,包含页面跳转时传递的参数。- `onShow`: 页面显示时触发。- `onHide`: 页面隐藏时触发。- `onUnload`: 页面卸载时触发。

3. 场景:- 监听新页面加载完成:在events参数中添加onLoad函数,获取页面传递的参数,进行页面初始化。- 监听页面显示:在events参数中添加onShow函数,进行页面显示后的操作,如获取用户信息等。- 监听页面隐藏:在events参数中添加onHide函数,进行页面隐藏时的操作,如取消网络请求等。- 监听页面卸载:在events参数中添加onUnload函数,进行页面卸载时的操作,如清理资源等。

示例代码:

javascriptwx.navigateTo({ url: '/pages/detail/detail', events: { onLoad: function(options) { // 页面加载完成,获取传递的参数 console.log(options); }, onShow: function() { // 页面显示 }, onHide: function() { // 页面隐藏 }, onUnload: function() { // 页面卸载 } }})

个人理解wx.navigateTo方法里的events参数使用详情及场景

微信小程序在2.7.3版本wx.navigateTo这个方法中新增了events这个属性
微信官方文档里面写的很模糊,在微信公众平台的社区里也有一些人在问,我第一次看到也是先百度了一下使用场景,搜到的也只是copy官方文档的抄袭党,并没什么卵用,相信大家都是看的一头雾水,所以用业余时间研究了一下,以下仅代表个人的理解,如果有更好的想法或者使用不当的地方希望大家提出防止我的个人想法误导大家

个人理解这个新增的属性使用的场景就是能在一个页面执行另一个页面的方法,以大家最熟悉的购物为例,假设现在大家在购物的订单列表页,然后想从这个页跳转到评论订单的页面,在评论完成后刷新订单页面的订单,原来的处理方式就是评论完回到订单页在onShow方法中执行刷新订单的操作,用户体验会差一点,有了events这个属性就能解决这个问题

//订单页js,order.js //跳转去评论页的方法 fnToComment(){ wx.navigateTo({ url: `../comment/comment`, events:{ //执行刷新订单的操作data是从评论页传递的参数 fnFefresh:function(data){ console.log(data)//此处接收的是comment.js传递的{data:'2222'} } }, success: function (res) { //跳转comment页要执行的方法 res.eventChannel.emit('fresh', { data: '1111' }) } }) }, //评论页js,comment.js var eventChannel Page({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { eventChannel = this.getOpenerEventChannel() // 监听fresh事件,获取上一页面通过eventChannel传送到当前页面的数据 eventChannel.on('fresh', function (data) { console.log(data)//此处接收的是order.js传递的{data:'1111'} }) }, //提交评论的方法同时刷新order.js的刷新订单方法 fnComment(){ //刷新order.js的events属性中的fnFefresh方法 eventChannel.emit('fnFefresh', { data: '2222' }); } })

####### 官方给的文档传递的数据都是这个{data:‘test'},可能让大家蒙了,其实这个和vue的组件之间传递数据有点相似,emit就是相当于用于发送事件,on就是相当于接收同名的emit传递的方法,也就是说当前所在的页面(也就是执行wx.navigateTo方法的页面 )的emit的方法在被打开也就是要去的页面里on去接收传递的数据,如果被打开的页面里有执行的方法同时又要调用当前页面的方法,就在被打开页面里也有执行emit的地方,在当前页面里events参数里的方法就是接收被打开页面emit的同名的方法就能接收到被打开页面执行某一方法同时执行emit传递到当前页面的数据,也就是相当于被打开页面已经打开之后,执行某一方法可以同时调用之前执行wx.navigateTo方法的页面里面的方法,个人理解使用场景就是能在一个页面执行了另一个页面的方法,例如执行一些刷新操作之类的,防止在onshow中调用还是会被看到刷新过程影响使用体验,个人理解,不喜勿喷

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

标签:e

本文共计1000个文字,预计阅读时间需要4分钟。

微信小程序wx.navigateTo方法中events参数如何使用详情介绍?

wx.navigateTo方法中的events参数详解及场景:

微信小程序wx.navigateTo方法用于打开一个新页面,保留当前页面。events参数是一个对象,用于监听新页面的生命周期函数。

微信小程序2.7.3版本中,wx.navigateTo方法新增了events属性。以下是events参数的详细说明及使用场景:

微信小程序wx.navigateTo方法中events参数如何使用详情介绍?

1. 作用:events参数允许开发者监听新页面的生命周期函数,例如onLoad、onShow等。

2. 属性说明:- `onLoad`: 页面加载时触发,参数为options对象,包含页面跳转时传递的参数。- `onShow`: 页面显示时触发。- `onHide`: 页面隐藏时触发。- `onUnload`: 页面卸载时触发。

3. 场景:- 监听新页面加载完成:在events参数中添加onLoad函数,获取页面传递的参数,进行页面初始化。- 监听页面显示:在events参数中添加onShow函数,进行页面显示后的操作,如获取用户信息等。- 监听页面隐藏:在events参数中添加onHide函数,进行页面隐藏时的操作,如取消网络请求等。- 监听页面卸载:在events参数中添加onUnload函数,进行页面卸载时的操作,如清理资源等。

示例代码:

javascriptwx.navigateTo({ url: '/pages/detail/detail', events: { onLoad: function(options) { // 页面加载完成,获取传递的参数 console.log(options); }, onShow: function() { // 页面显示 }, onHide: function() { // 页面隐藏 }, onUnload: function() { // 页面卸载 } }})

个人理解wx.navigateTo方法里的events参数使用详情及场景

微信小程序在2.7.3版本wx.navigateTo这个方法中新增了events这个属性
微信官方文档里面写的很模糊,在微信公众平台的社区里也有一些人在问,我第一次看到也是先百度了一下使用场景,搜到的也只是copy官方文档的抄袭党,并没什么卵用,相信大家都是看的一头雾水,所以用业余时间研究了一下,以下仅代表个人的理解,如果有更好的想法或者使用不当的地方希望大家提出防止我的个人想法误导大家

个人理解这个新增的属性使用的场景就是能在一个页面执行另一个页面的方法,以大家最熟悉的购物为例,假设现在大家在购物的订单列表页,然后想从这个页跳转到评论订单的页面,在评论完成后刷新订单页面的订单,原来的处理方式就是评论完回到订单页在onShow方法中执行刷新订单的操作,用户体验会差一点,有了events这个属性就能解决这个问题

//订单页js,order.js //跳转去评论页的方法 fnToComment(){ wx.navigateTo({ url: `../comment/comment`, events:{ //执行刷新订单的操作data是从评论页传递的参数 fnFefresh:function(data){ console.log(data)//此处接收的是comment.js传递的{data:'2222'} } }, success: function (res) { //跳转comment页要执行的方法 res.eventChannel.emit('fresh', { data: '1111' }) } }) }, //评论页js,comment.js var eventChannel Page({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { eventChannel = this.getOpenerEventChannel() // 监听fresh事件,获取上一页面通过eventChannel传送到当前页面的数据 eventChannel.on('fresh', function (data) { console.log(data)//此处接收的是order.js传递的{data:'1111'} }) }, //提交评论的方法同时刷新order.js的刷新订单方法 fnComment(){ //刷新order.js的events属性中的fnFefresh方法 eventChannel.emit('fnFefresh', { data: '2222' }); } })

####### 官方给的文档传递的数据都是这个{data:‘test'},可能让大家蒙了,其实这个和vue的组件之间传递数据有点相似,emit就是相当于用于发送事件,on就是相当于接收同名的emit传递的方法,也就是说当前所在的页面(也就是执行wx.navigateTo方法的页面 )的emit的方法在被打开也就是要去的页面里on去接收传递的数据,如果被打开的页面里有执行的方法同时又要调用当前页面的方法,就在被打开页面里也有执行emit的地方,在当前页面里events参数里的方法就是接收被打开页面emit的同名的方法就能接收到被打开页面执行某一方法同时执行emit传递到当前页面的数据,也就是相当于被打开页面已经打开之后,执行某一方法可以同时调用之前执行wx.navigateTo方法的页面里面的方法,个人理解使用场景就是能在一个页面执行了另一个页面的方法,例如执行一些刷新操作之类的,防止在onshow中调用还是会被看到刷新过程影响使用体验,个人理解,不喜勿喷

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

标签:e