前言:
界面展示:
数据渲染界面(test1)
- test1.wxml
<view>
<block wx:for="{{datas}}" wx:key="id">
<view class="box">
{{item.name}}
</view>
</block>
<button bindtap="click_btn">添加书籍</button>
</view>
- test1.js
data: {
datas:[
{"name":"水浒传"},
{"name":"红楼梦"},
{"name":"西游记"},
]
},
click_btn(){
wx.navigateTo({
url: '../test2/test2',
})
},
数据操作界面(test2)
- test2.wxml
<button bindtap="qury_click">确定</button>
- test2.js
qury_click(){
const item=[{
"name":"三国演义"
}]
wx.navigateBack()
const pages= getCurrentPages()
console.log(pages)
//取到上一个界面
const PrvePages=pages[pages.length-2]
PrvePages.setData({
datas:PrvePages.data.datas.concat(item)
})
},
console.log(pages)后会发现:这里可以获取到了test1页面的路由,方法,初始化数据…
这里这个例子的test2只是改变了test1的初始化数据,在实际项目中更多的是将数据在test2中保存到数据库中,然后在test1中渲染出来。这样我们就可以直接执行test1中实现数据加载的方法就可以了
eg:数据加载是在onLoad中,我们直接将
PrvePages.setData({
datas:PrvePages.data.datas.concat(item)
})
换成
PrvePages.onLoad()
就可以了。
效果演示