在小程序开发中,经常有跨页面传递数据的需求。一般的其实读写公共数据或者事件触发两类方法,不过在微信小程序中还有一种方法就是直接操作页面栈。下面逐一介绍一下各种方法。
一、读写公共数据
1. 全局变量 globalData
// 写入数据
getApp().globalData.data1 = 'Hello World!';
// 读取数据
console.log(getApp().globalData.data1);
2. 本地缓存 Storage
// 同步写入数据
wx.setStorageSync('key', 'value');
// 异步写入数据
wx.setStorage({
key: "key",
data: "value"
});
// 同步读取数据
var value = wx.getStorageSync('key');
// 异步读取数据
wx.getStorage({
key: 'key',
success(res) {
console.log(res.data)
}
})
二、事件触发
涉及到的 API
EventChannel.emit(string eventName, any args)
EventChannel.off(string eventName, function fn)
EventChannel.on(string eventName, function fn)
EventChannel.once(string eventName, function fn)
获取 EventChannel 的方法,一种是 Page 获取,如下:
let eventChannel = this.getOpenerEventChannel();
一种在页面跳转时获取,如下:
wx.navigateTo({
url: 'path',
events: {
// ……
},
success: res => {
let eventChannel = res.eventChannel;
}
})
三、页面栈
let pages = getCurrentPages();
let curPage = pages[pages.length - 1];
let prePage = pages[pages.length - 2];
prePage.setData({
key: 'value'
})
使用页面栈,获取到指定的页面后,就可以直接调用页面的方法。
-
base64图片在微信开发者工具中显示,在手机上不行base64图片在微信开发者工具中显示,在手机上不行
-
微信小程序黑名单功能微信小程序黑名单功能
-
微信小程序隐私协议弹框不弹微信小程序隐私协议弹框不弹
-
担心WordPress REST API暴露用户名?这里有一个简单的屏蔽方法!在深入探讨WordPress REST API的利用与功能时,追格小编虽已分享了多篇相关内容,但我们依然理解,部分用户可能仍对网站用户名暴露的问题心存顾虑,尤其是当他们并不需要使用到如古腾堡编辑器或小程序等特定功能时。针对这一关切,今天小编特地为大家介绍一种有效的屏蔽方法。
-
微信小程序打开任意公众号文章 wx.openOfficialAccountArticlewx.openOfficialAccountArticle是微信小程序通过小程序打开任意公众号文章api,不包括临时链接等异常状态下的公众号文章,必须有点击行为才能调用成功。
-
追格小程序V2.5.0更新发布追格小程序V2.5.0版本的更新,我们没给大家添太多新花样,主要是把“内功”练好了。我们认真检查了上一版里那些组件之间的小摩擦,一点点地调整、优化,搞定了超过40多个小地方。这样一来,小程序跑起来就更顺畅了,大家用起来也会感觉更舒服、更顺手。这次虽然没大张旗鼓,但确实是让产品站得更稳、更可靠了。
暂无评论,抢个沙发...