小程序开发(五)getCurrentPages()实现页面返回后刷新当前页面(实例)

前言:getCurrentPages():获取当前页面栈。数组中第一个元素为首页,最后一个元素为当前页面。

界面展示在这里插入图片描述
数据渲染界面(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()

就可以了。

效果演示
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值