手机版

如何在微信小程序模板的页面之间传递数据

时间:2021-12-02 来源:互联网 编辑:宝哥软件园 浏览:

在微信小程序的开发中,我们经常会遇到数据传输或者页面之间交互的问题。在实际开发过程中,可以通过以下方法实现。

使用全局变量

全局变量实际上定义了一个全局对象,并被引入到每一页中。当初始化代码时,小程序将读取一个app.js文件,在这里我们可以定义我们需要的全局变量。

微信小程序

使用全局变量全局变量实际上定义了一个全局对象,并被引入到每一页中。当初始化代码时,小程序将读取一个app.js文件,在这里我们可以定义我们需要的全局变量。

微信小程序

由于app.js用于项目中的基本配置,所以不建议在这里配置很多变量。一般来说,这里会配置一些持久常数,对于经常需要变化的量,不建议使用这种方法。

使用本地缓存

本地缓存是微信小程序提供的功能,可以将用户生成的数据本地持久化。类似于NoSQL,它可以被阅读和修改。

那么,如何用它来实现不同页面之间的数据交互呢?假设我们将用户信息保存在A页面上。

微信小程序

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

微信小程序

需要注意的是,当返回到页面A时,小程序需要重新读取数据。此时,您可以选择在生命周期的运行中重新加载数据。

从父页面到子页面的数据传输(模板)

我们通常在页面之间跳转和重定向。此时,我们可以选择在url中放入一些数据,并在新页面onLoad时对其进行初始化。

微信小程序

在d页面上,我们可以接收如下输入参数:

微信小程序

Wx.navigateTo和wx.redirectTo不允许跳转到标签页包含的页面,只能用wx.switchTab跳转需要注意的是,wx.switchTab中的url不能传递参数。

微信新提供的wx.reLaunch界面可以传入参数。

此外,我们通常在页面中使用一些组件模板,因此父母和孩子之间会有相应的数据传输。

使用name属性作为模板的名称。然后使用其中的is属性来声明所需的模板。

微信小程序

然后传入模板所需的数据,如:

微信小程序

除了变量,模板也可以是事件方法对象。例如,模板中的单击事件可以传递给使用该模板的元素。这种通过获取页面对象来进行数据操作的方法,其本质是获取其他页面的对象原型,然后通过原型方法setData来修改当前对象管理的数据。例子如下:

微信小程序

跳转到下一页F后,假设F中有操作需要修改E中的数据,可以使用以下方法:

微信小程序

这种方法可以操作页面栈中页面的数据,并且可以让下一页管理上一页组的数据。总结在微信小程序中,页面之间的数据传递和交互方式有以上几种且不限于以上几种,在实际应用中可以组合使用。比如有些常量可以用app.js来管理;需要持久化的数量可以存储在本地。

与从属页面或模板元素相关的数据可以通过传入参数来传入。后级页面通过获取栈中的页面对象,可以快速修改上级的数据。在实际应用中,可以更好地管理小程序的数据。

版权声明:如何在微信小程序模板的页面之间传递数据是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。