Uniapp返回上一页触发页面更新

╰半橙微兮° 2022-12-27 14:20 694阅读 0赞

文章目录

  • 前言
  • 一、难点有哪些?
  • 二、返回上一页
  • 三、触发上一页的更新
  • 四、监听reFresh
  • 五、示例源码
  • 总结

前言

本来返回上一页可以使用uni.navigateBack(OBJECT),但是这个无法触发页面更新,另外可以选用uni.reLaunch(OBJECT),但是会丢失页面栈,无法继续返回上上页.因此利用uni.navigateBack(OBJECT)+传参触发页面更新函数的方式来实现.


提示:以下是本篇文章正文内容,下面案例可供参考

一、难点有哪些?

  1. 如何返回上一页
  2. 如何触发上一页的更新

二、返回上一页

代码如下:

  1. //click事件函数
  2. gotoPre:function(){
  3. uni.navigateBack()//返回上一页
  4. }

三、触发上一页的更新

代码如下:

  1. //click事件函数
  2. gotoPre:function(){
  3. let pages = getCurrentPages()//页面栈
  4. let prePage = pages[pages.length - 2]//上一页
  5. prePage.$vm.reFresh = Math.random()//触发上一页监听器
  6. uni.navigateBack()//返回上一页
  7. }

四、监听reFresh

  1. data() {
  2. return {
  3. reFresh:""
  4. }
  5. },
  6. watch:{
  7. //监听reFresh,如果有修改就执行监听器
  8. reFresh:function(){
  9. //初始化参数
  10. this.num = 0
  11. //刷新页面(即onLoad里的某些操作
  12. this.num = "110"
  13. console.log("页面已重新加载");
  14. }
  15. },

五、示例源码

Talk is cheap. Show me the code:

点击下载示例源码

总结

其实实际用的比这个要稍微复杂点,是需要返回上一页并刷新上一页里某个组件内的数据.
不过思路是一致的,简单说来就是返回上一页之后触发”触发组件内监听器”的监听器.

发表评论

表情:
评论列表 (有 0 条评论,694人围观)

还没有评论,来说两句吧...

相关阅读