专栏名称: 知晓程序
知晓程序,是爱范儿旗下专注「小程序生态」的品牌,提供小程序资讯、教程、活动、社区等服务。 更多内容请访问 minapp.com。
目录
相关文章推荐
白鲸出海  ·  Supercell新作《MO.CO》今日全球 ... ·  2 天前  
51好读  ›  专栏  ›  知晓程序

开发 | 如何在微信小程序的页面间传递数据?

知晓程序  · 公众号  · 科技公司  · 2017-05-07 11:35

正文

知晓程序注:
我们在之前发布过小程序页面传值方法的 简单介绍 ,说明了在小程序开发中,两种常见的页面之间传值方法。
本期,「知晓程序」为你带来的是「倒数记日」小程序开发者带来的,小程序开发中,有关页面间数据传递的更多方法。

文 | 小日子先生
在微信小程序的开发中,我们会经常遇到页面间数据传递或者相互影响的问题。在实际的开发过程中,可以通过以下几种方法来实现。
使用全局变量
全局变量实际上是定义了一个全局的对象,并在每个页面中引入。
在初始化代码的时候,小程序会读取一个 app.js 的文件,在这里我们可以定义我们所需要的全局变量。

然后在页面中,可以通过 getApp() 方法获取到全局应用对象,可以对全局变量进行读取并更改:

由于 app.js 在项目中是用来做基础配置的,因此不建议将很多变量放在这里配置。 一般情况下会将一些持久化的常量配置在这里,对于经常需要变动的量不建议用这个方法。
使用本地缓存
本地缓存是微信小程序提供的一个功能, 可以将用户产生的数据做本地的持久化 ,类似于 NoSQL,可以进行读取和修改的操作。
那么在不同的页面之间,如何利用它,进行数据的交互呢?
假设我们在 A 页面保存了用户的信息。

这样做,这个数据就存在了本地。当在 B 页面需要使用的时候,可以直接的获取到数据池中的数据,并进行 CRUD 操作:

需要注意的是,在 回到 A 页面的时候,小程序需要重新读取数据 。这时候,可以选择放在生命周期的 onShow 中对数据重新加载
父级往子级页面(模板)的数据传递
我们通常会在页面之间进行跳转、重定向的操作。 这时候,我们可以选择将部分数据放在 url 里面,并在新页面 onLoad 的时候进行初始化。

在 D 页面中,我们可以这样接收到到所传进来的参数:






请到「今天看啥」查看全文