同遇到一样的问题,调试基础库用的是2.19.2
管理后报错:getOpenerEventChannel().on is not a function前一个版本在页面间传值时,采用的是将对象缓存在 app.js 中,然后在 onLoad() 中将其获取并设置为 null 的方式;在当前版本中,采用了依赖 EventChannel 进行传值的方式,但是管理后台出现大量报错,错误为 this.getOpenerEventChannel().on is not a function,本地开发工具和真机调试均无法复现该异常。 相关情况如下: 发布新版本时为全量发布;管理后台基本库最低设置为 2.7.3;报错页面无其它跳转进入途径; [图片] 相关代码如下: 第一个页面 toPrescription: function() { let that = this; util.checkUserState(-1, true, function (res) { let acceptData = { 'selectedMember': null } if (that.data.members.length > 0 && that.data.members[0].isSelf) { acceptData.selectedMember = that.data.members[0]; } wx.navigateTo({ url: '/pages/diagnosis/prescription/prescription', success: function (res) { // 通过eventChannel向被打开页面传送数据 res.eventChannel.emit('toPrescription', { data: acceptData }); } }); }); }, 第二个页面 onLoad: function(options) { let that = this; let eventChannel = this.getOpenerEventChannel(); // 监听事件,获取上一页面通过eventChannel传送到当前页面的数据 eventChannel.on('toPrescription', function (data) { let acceptData = data.data; if (acceptData && acceptData.selectedMember) { that.setData({ selectedMember: acceptData.selectedMember }); } }); }, 管理后台截图: [图片][图片]
2021-09-02发现是我用的基础版本库不对,在开发工具右上角的【详情】-【本地设置】中选择较新的基础版本库(我选的是2.19.1)就好了
useExtentedLib引入weui,使用mp-slideview只显示文字,无法实现交互https://developers.weixin.qq.com/miniprogram/dev/extended/weui/slideview.html // index.wxml <view class="weui-cells"> <mp-slideview ext-class="slideViewClass" buttons="{{slideButtons}}" bindbuttontap="slideButtonTap"> <mp-cell value="标题文字"></mp-cell> </mp-slideview> </view> // index.json { "usingComponents": { "mp-slideview": "weui-miniprogram/slideview/slideview", "mp-cell": "weui-miniprogram/cell/cell", } } // index.js data: { slideButtons: [ { text: "收藏", src: '/page/replay.svg', // icon的路径 }, { text: "点赞", src: '/page/replay.svg', // icon的路径 }, { text: "删除", src: '/page/replay.svg', // icon的路径 }] } // app.json "useExtendedLib": { "weui": true } [图片]
2021-08-14