小程序
小游戏
企业微信
微信支付
扫描小程序码分享
能不能在app.js中设置全局的data变量,然后所有的视图页面中都可以直接渲染使用。不用每个页面都去app.
globalData里取一次。
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
这样对做国际化还有一个好处:
比如说:用户修改语言,只需要app.js里把setdata调用一下,所有wxml里的语言都自动换了。
而按照现在小程序里的解决方案:
1、语言在app.js里初始化
2、wxml的语言需要在page的onshow里重复从app.js里拉过来,因为放在onload里的话,会有一个BUG,复现流程:
a) 用户访问页面xxx.page,onload被调用
b) 用户修改了语言,app.js中语言文件重新加载
c)用户再回到页面xxx.page,因为onload已经调用过了,所以页面的语言不会从app.js重新拉
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
waht??有啥区别??
就是想省一句
this.setData({getApp().globalData})吗
你这叫凑热闹,晓得不,楼下已经很多怼楼主的。
嗯,就是为了省一句
比如做国际化的时候,语言文件在app.js里加载,然后底下所有的子页面,都需要写这么一句,比较费事
真是有追求的啊。。不过我觉得官方不会处理这个情况。。
如果要优化,可以自己封装 Page方法。但是。。那样就更费事了。。哈哈哈哈
这样还有一个好处:
a) 用户加载的页面xxx.page,onload被调用
你的意思是在全局定义个data,然后用app.data去调?那你这跟去globalData里去取有什么区别?
有啥区别吗?globalData 和 data 只是变量名不一样
这样写了,获取方式还是和写在globalData 里面是一样的啊
我说是的在wxml里直接调用app.js里的data。
在wxml里可以直接 :{{arr}}
那你就直接在对应的js里面获取,然后写在对应js的data里面,就不用setData了。可以在wxml直接用
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
这样对做国际化还有一个好处:
比如说:用户修改语言,只需要app.js里把setdata调用一下,所有wxml里的语言都自动换了。
而按照现在小程序里的解决方案:
1、语言在app.js里初始化
2、wxml的语言需要在page的onshow里重复从app.js里拉过来,因为放在onload里的话,会有一个BUG,复现流程:
a) 用户访问页面xxx.page,onload被调用
b) 用户修改了语言,app.js中语言文件重新加载
c)用户再回到页面xxx.page,因为onload已经调用过了,所以页面的语言不会从app.js重新拉
waht??有啥区别??
就是想省一句
this.setData({getApp().globalData})吗
你这叫凑热闹,晓得不,楼下已经很多怼楼主的。
嗯,就是为了省一句
比如做国际化的时候,语言文件在app.js里加载,然后底下所有的子页面,都需要写这么一句,比较费事
真是有追求的啊。。不过我觉得官方不会处理这个情况。。
如果要优化,可以自己封装 Page方法。但是。。那样就更费事了。。哈哈哈哈
这样还有一个好处:
比如说:用户修改语言,只需要app.js里把setdata调用一下,所有wxml里的语言都自动换了。
而按照现在小程序里的解决方案:
1、语言在app.js里初始化
2、wxml的语言需要在page的onshow里重复从app.js里拉过来,因为放在onload里的话,会有一个BUG,复现流程:
a) 用户加载的页面xxx.page,onload被调用
b) 用户修改了语言,app.js中语言文件重新加载
c)用户再回到页面xxx.page,因为onload已经调用过了,所以页面的语言不会从app.js重新拉
你的意思是在全局定义个data,然后用app.data去调?那你这跟去globalData里去取有什么区别?
有啥区别吗?globalData 和 data 只是变量名不一样
这样写了,获取方式还是和写在globalData 里面是一样的啊
我说是的在wxml里直接调用app.js里的data。
在wxml里可以直接 :{{arr}}
那你就直接在对应的js里面获取,然后写在对应js的data里面,就不用setData了。可以在wxml直接用