小程序通过全局变量实现两个页面之间数据传递(数组)
刚开始学小程序,因为没有系统完整地学,所以有些功能不知道具体怎么实现,最近需要用到两个页面之间传递数据的功能,查了挺多,可能是个人没有具备太多的小程序知识,觉得有点看不太懂。最后终于搞出来了,记下来希望能帮到同样在学小程序的朋友们
首先需要在app.js中定义全局变量
//app.js
var list
App({
})
然后在index页面中同样也定义该变量list,然后在onShow中获取全局变量的值(注意!要有 var app = getApp() )
//index.js
var app = getApp()
Page({
data: {
list: []
},
onShow: function() {
var list = app.list;
this.setData({
list: list
})
}
})
在另外一个页面中定义全局变量list数组并赋值(注意!同样需要var app = getApp() )
//logs.js
var app = getApp()
app.list = [
{ "id": 1, "name": "Tom" },
{ "id": 2, "name": "Alice" },
{ "id": 3, "name": "Jack" },
]
Page({
data: {
list: []
}
})
这时在index.xml文件中就可以直接引用list的数据了
//index.wxml
<view wx:for="{{ list }}" wx:key="id">
<view>{{ item.id }}</view>
<view>{{ item.name }}</view>
</view>
这篇文章的主要功能实现参考自优快云中此作者的文章,本人只是将各具体步骤实现出来,方便跟我一样是初学小程序的人阅读,感谢。
作者:gaoqiang1112
原文:https://blog.youkuaiyun.com/gaoqiang1112/article/details/77876826?utm_source=copy