微信扫码登录

其他登录方式

绑定手机号

注册

我同意用户协议

忘记密码

用户协议

绑定手机号

近期有不法分子打着爱盈利的旗号,制作“爱盈利”名称的App,并伪造爱盈利证件,骗取用户信任,以抖音点赞赚钱或其他方式赚钱为名义,过程中以升级会员获得高佣金为名让用户充值。
爱盈利公司郑重声明:我司没有研发或运营过任何名为“爱盈利”的APP,我司做任务赚钱类产品从没有让任何普通用户充值升级会员。我公司产品均在本网站可查询,请将网站拉至底部,点击“关于我们”可查看爱盈利相关产品与服务。
温馨提示:当遇到此类问题请拨打官方电话或添加官方微信,以免财产损失。爱盈利官网地址:www.aiyingli.com。
  • 推广与合作
X

小程序丨新做了个小程序APP变量无法传递?

来源: 5894

如题:

当动态设置了app.datas的值之后,打开小程序,在其它页面app.datas读取的值却为undefined

然之前开发的版本,这样做都是没有问题的,现在怎么做都无法读取?

网友回复:

***:

仔细看了一下,不是无法传递,而是无法动态改变,那之前的为毛可以?

比如先设定app.datas=null

进入主页后,先支行APP里的方法让app.setdatas();//设置app.datas-=100

此时,在没关闭页面的情况下,再在其它页面输出app.datas仍然是空。

怎么设置都无用,采用了globalData也无法动态改变其值。难道是BUG?

m***:

这个大概属于 js 语法层级的东西,想出 BUG 都难哪,呵呵


还是直接贴代码吧,否则没法猜。

***:

App({

  userArray:{},

login:function(){

    var that=this;

    这里是发送一个POST,返回结果正确,返回的是用户数据

返回成功后

log(res.data)

that.userArray=res.data;

//调试没问题

    }

})

index.js

加载页面后调用app.login();这里一切正常,也能返回数据。之后再:

log(app.userArray.id) 数据就无法再调用,仍是空

在app里将这些变量放在globalData里,

如:globalData:{userArray:{}}再去使用login动态去改变这个值,再如上操作在其它页面还是获取不到。只有在方法里才可以输出返回的数据。

但是在没更新之前做的一个小程序也是这样用的,是没有问题的,而且操作过app.login()之后,在其它页面里均可用

app.userArray.xxx进行调用。

那么问题就来了,若是这样做无效,为什么上一个小程序没问题,且放在globalData里也无法调用呢?

又测试了一下,静态的值是可以获取的,现在是不能动态改变VAR变量的值。按道理来讲应该是能改变的。并且上一个完成的小程序是可以使用的。所以是搞不懂了。

***:

问题找到了,本来是按顺序写的,却出现了优先级的问题,

导致APP POST方法还没有返回,就执行了后面的操作,所以APP.USERARRAY的值还没有取到。

之前INDEX首页没有立即使用到POST回调的数据。

分开放在ONLAUNCH和ONSHOW里效果也不明显。再重新用其它办法吧。。。


m***:

在 app.js 中把对该数据的访问包装成一个异步方法,通过回调函数提供数据。

爱盈利(aiyingli.com)移动互联网最具影响力的盈利指导网站。定位于服务移动互联网创业者,移动盈利指导。我们的目标是让盈利目标清晰可见!降低门槛,让缺乏经验、资金有限的个人和团队获得经验和机会,提高热情,激发产品。

评论

相关文章推荐

SELECT dw_posts.ID,dw_posts.post_title,dw_posts.post_content FROM dw_posts INNER JOIN dw_term_relationships ON (dw_posts.ID = dw_term_relationships.object_id) WHERE 1=1 AND(dw_term_relationships.term_taxonomy_id = 5246 ) AND dw_posts.post_type = 'post' AND (dw_posts.post_status = 'publish') GROUP BY dw_posts.ID ORDER BY RAND() LIMIT 0, 6

京ICP备15063977号-2 © 2012-2018 aiyingli.com. All Rights Reserved. 京公网安备 11010102003938号