小程序
小游戏
企业微信
微信支付
扫描小程序码分享
能否像getApp一样提供一个获取当前Page实例的方法?
当多个function跟页面事件多重嵌套的时候,this的指向会发生错误,所以无法调用Page的setData方法...
求解。
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
自己在js里定义个全局变量,然后onLoad时候吧this赋值给这个全局变量就可以很方便的随意调用了。例如
var top_this={}
Page({
onLoad: function () {
top_this=this;
},
a:function()
{
wx.getSystemInfo({
success: function(res) {
top_this.setData({b:res.windowWidth});
}
})
当然,可能有更好的方法能获取Page,这个楼主找到了也告诉我一下
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
谢谢1楼,这波我真笨
但还是希望有一个getPageByName()方法
function a()
var this_a=this;
function b()
var this_b=this;
//这里可以取到this_a,this_b
//无论套多少层多复杂。
//so,你的基本功不扎实
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
自己在js里定义个全局变量,然后onLoad时候吧this赋值给这个全局变量就可以很方便的随意调用了。例如
var top_this={}
Page({
onLoad: function () {
top_this=this;
},
a:function()
{
wx.getSystemInfo({
success: function(res) {
top_this.setData({b:res.windowWidth});
}
})
}
})
当然,可能有更好的方法能获取Page,这个楼主找到了也告诉我一下
谢谢1楼,这波我真笨
但还是希望有一个getPageByName()方法
function a()
{
var this_a=this;
function b()
{
var this_b=this;
function b()
{
//这里可以取到this_a,this_b
//无论套多少层多复杂。
//so,你的基本功不扎实
}
}
}