在小程序页面之间,传递数据和变量
最近组里开发小程序,遇到了一个困扰前端很长时间的话题:页面之间,如何传递数据和变量?
刚开始,我们选择使用路径传参解决。但是众所周知,各浏览器 HTTP Get 请求 URL 最大长度并不相同,大部分浏览器只能接受 7000 个字符的数据。
所以,我们觉得这个方式并不靠谱。
研究了一下官网,发现有两种方式可以「比较优雅」地完成这个任务。
使用全局变量
在项目 app.js中定义 globalData(全局变量)。
在需要的地方,我们可以随意调用这个全局变量。
当然,赋值也是没问题的。
来试试效果:
使用模板
在官方文档中,模板的使用需要先定义一个模板,要用到 name 属性。
接着,使用模板和 is属性,声明需要的使用的模板,然后将模板所需要的 data传入。比如这样:
给 item赋值,以显示模板数据。
这样就「duang」地一下,解决了页面传值问题。
另外,既然小程序可以使用 ES6 的所有特性,那么那个 var that=this又是什么鬼?为何不能用箭头函数解决作用域问题?大家可以自行尝试一下。