
小程序关于小程序闭包插件在遇到页面回退的时候this指向的bug
2019-04-03 15:16:50
如何看待微信公开课小程序热门讨论「小程序关于小程序闭包插件在遇到页面回退的时候this指向的bug」
摘要:小程序关于小程序闭包插件在遇到页面回退的时候this指向的bug
展开:1,一般做小程序的插件我都会在一个js写一个闭包,例如这样子:varpluginfunction(tempOption){this.optiontempOption;this.pageThistempOption.pageThis;//传入页面Page的this};plugin.prototype.initfunction(){this.pageThis.aaathis.aaa;//往页面注入方法};plugin.prototype.aaafunction(){};module.exports.Pluginfunction(tempOption){vartempPluginnewplugin(tempOption);tempPlugin.init();returntempPlugin;};2,一般插件都涉及到对页面交互的操作,所以需要操作到Page闭包里面的data数据,或者需要往页面注入一些方法方便模板的bindtap调用。所以一般插件我都会在页面调用的时候把页面的this当做参数传入到插件中供调用。例如:varpluginJsrequire(../plugin.js);Page({onLoad:function(){pluginpluginJs.Plugin({pageThis:this});//把页面的this传入到插件中}})3,一般情况下是没有任何问题的,但是当在页面A实例化插件时this指向的是页面A的this,然后A页面跳转到B页面实例化插件时this指向的是页面B的this。到这个地方依然没有任何问题,但如果这时候我点击顶部的回退按钮撤退到页面A,这时候插件的this指向的是还是页面B的this。所以就只能在onShow再做一次实例化做弥补,因为不少插件是要在数据读取之前先实例化的,所以没办法规避在onLoad里面做实例化。其它的编程语言也没有这种说写一个插件给别人调用还要写2次实例化这种道理的。
摘要:小程序关于小程序闭包插件在遇到页面回退的时候this指向的bug
展开:1,一般做小程序的插件我都会在一个js写一个闭包,例如这样子:varpluginfunction(tempOption){this.optiontempOption;this.pageThistempOption.pageThis;//传入页面Page的this};plugin.prototype.initfunction(){this.pageThis.aaathis.aaa;//往页面注入方法};plugin.prototype.aaafunction(){};module.exports.Pluginfunction(tempOption){vartempPluginnewplugin(tempOption);tempPlugin.init();returntempPlugin;};2,一般插件都涉及到对页面交互的操作,所以需要操作到Page闭包里面的data数据,或者需要往页面注入一些方法方便模板的bindtap调用。所以一般插件我都会在页面调用的时候把页面的this当做参数传入到插件中供调用。例如:varpluginJsrequire(../plugin.js);Page({onLoad:function(){pluginpluginJs.Plugin({pageThis:this});//把页面的this传入到插件中}})3,一般情况下是没有任何问题的,但是当在页面A实例化插件时this指向的是页面A的this,然后A页面跳转到B页面实例化插件时this指向的是页面B的this。到这个地方依然没有任何问题,但如果这时候我点击顶部的回退按钮撤退到页面A,这时候插件的this指向的是还是页面B的this。所以就只能在onShow再做一次实例化做弥补,因为不少插件是要在数据读取之前先实例化的,所以没办法规避在onLoad里面做实例化。其它的编程语言也没有这种说写一个插件给别人调用还要写2次实例化这种道理的。
标签:小程序

「小程序关于小程序闭包插件在遇到页面回退的时候this指向的bug」热门讨论订阅
方法1:微信扫描微信公开课小程序码即可订阅热门讨论「小程序关于小程序闭包插件在遇到页面回退的时候this指向的bug」
方法2:微信搜索微信公开课小程序名称进入,即可订阅热门讨论「小程序关于小程序闭包插件在遇到页面回退的时候this指向的bug」
方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热门讨论「小程序关于小程序闭包插件在遇到页面回退的时候this指向的bug」
微信公开课小程序热门讨论「小程序关于小程序闭包插件在遇到页面回退的时候this指向的bug」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。
微信公开课热门讨论「小程序关于小程序闭包插件在遇到页面回退的时候this指向的bug」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。
微信公开课小程序
更新时间:2019-04-03 15:16:50
>
__methodCallerx27;ofundefined
>-404011cloudfunctionexecutionerror
>,请补充选择商家自营-预付卡销售-发行方类目,并在基础信息处申请该类目,通过
>:host在模拟器中显示无效
>:请在小程序服务页面上架正式(非测试)内容或商品后重新提交审核
>.net 微信小程序 上传图片
>'setTimeout'的问题
>‘三朵里熙SPA主题减压空间’为什么搜索关键词‘三朵里‘搜不到
>‘扫普通链接二维码打开小程序‘中设置为体验版,扫码打开是线上版本
>“cloudfunctions**indexjs”gitignore
>“NO ULINK DEVICE FOUND”是怎么回事
>“万马掌上校园”的类目审核
>“上线了”公司开发的微信小程序怎么样?
>“产品是否一定需要条形码”
>