app.js中定义全局data
发布于 6 年前 作者 fma 8378 次浏览 来自 问答

能不能在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重新拉

就是想省一句

this.setData({getApp().globalData})吗

waht??有啥区别??

你的意思是在全局定义个data,然后用app.data去调?那你这跟去globalData里去取有什么区别?

有啥区别吗?globalData 和 data 只是变量名不一样

这样写了,获取方式还是和写在globalData 里面是一样的啊

回到顶部