后退刷新当前页面,getCurrentPages()的使用

news/2024/7/20 2:29:32 标签: git, github, 小程序

getCurrentPages():获取当前页面栈。数组中第一个元素为首页,最后一个元素为当前页面。
注意:不要尝试修改页面栈,会导致路由以及页面状态错误;
不要在App.onLaunch的时候调用getCurrentPages,此时page还没有生成。

后退刷新当前页面,可以在onShow中执行函数,或者利用getCurrentPages().

使用场景

  • 进入小程序非默认首页时,需要提供放回页面的按钮或者执行其他事件
onShow() {
	let pages = getCurrentPages(); //当前页面栈
	if (pages.length == 1) {
		//只有当前页面时执行的函数体
	}
}
  • 页面跳转后自动刷新
wx.switchTab({
	url: "/pages/home/page",
	success: function (e) {
		let page = getCurrentPages().pop();//当前页面
		if (page == undefined || page == null)
			return;
		page.onLoad();//或者其他操作
	}
})
  • 获取当前页面相关信息
let pages = getCurrentPages();//当前页面栈
let prePage = pages[pages.length - 1]; //当前页面 也可以写成 let prePage = pages.pop();
console.log(prePage.route)//输出路由路径
  • 跨页面赋值
    这种方法的弊端:因为进入 B 页面的入口可能是很多个。这样做,可能会导致获取到的页面实例不正确。
let pages = getCurrentPages();
let currPage = pages[pages.length - 1];   //当前页面
let prevPage = pages[pages.length - 2];  //上一个页面
//直接调用上一个页面的 setData() 方法,把数据存到上一个页面中去
prevPage.setData({
  mdata:1 
})

http://www.niftyadmin.cn/n/1250967.html

相关文章

小程序使用腾讯API定位的全过程(详细)

文章目录一、获取腾讯API的key二、小程序代码编写1.引入前面下载的文件,解压后放入2.代码编写微信开发工具代码片段示例提示:以下是本篇文章正文内容,下面案例可供参考 一、获取腾讯API的key 腾讯官方文档详细步骤 进入腾讯服务官网如果没有…

Tomcat9下war包启动部署

1、将项目打成WAR包放在Tomcat的webapps目录下 2、在Tomcat的安装目录的conf下找到server.xml的文件&#xff0c;如&#xff1a;D:\apache-tomcat-9.0.8\conf\server.xml 3、在Host标签里边添加 <Host name"localhost" appBase"" unpackWARs"tr…

前端和鸭子有什么关系?

今天我们一起来看一个 TypeScript 中一个有趣的知识点 - 鸭子类型&#xff08;Duck Typing&#xff09;。什么是鸭子类型鸭子类型是很多面向对象&#xff08;OOP&#xff09;语言中的常见做法。它的名字来源于所谓的“鸭子测试”&#xff1a;当看到一只鸟走起来像鸭子、游泳起来…

vant tabs组件选中第一个下划线位置异常

错误图示例 产生场景&#xff1a;顶部标题是后台接口数据返回。vnat-tabs已经在data里面设置跳转到该页面是所选中状态active0&#xff0c;数据出现后&#xff0c;下划线标签位置异常&#xff0c;在标题获取成功后再次设置active0,无效果&#xff0c;但是有时偶现下划线数据正…

看完 2021 CSS 年度报告,才知道 CSS 发展这么快

大家好&#xff0c;我是 小生方勤&#xff0c;一年一度的 CSS年度报告 如期而至&#xff0c;我挑了一些我感兴趣的部分&#xff0c;和我一起来看看吧&#xff5e;这篇文章用了很久&#xff0c;因为平时 CSS 写的实在少&#xff0c;其实看报告的主要目的除了了解CSS技术趋势&…

jenkins部署war

首先保证你的jenkins插件和环境已经配置好&#xff0c;如果没有配置好可以看我之前的文章。。。此处略过 这里配置clean package可以保证清除旧的文件 这里使用over ssh&#xff0c;下篇文章部署jar将使用shell。 auto_deploy.sh #!/bin/bash echo "Start executing the…

接口封装+防抖,手废式接口调用

主要文件包含小程序环境封装&#xff0c;接口文件&#xff0c;request请求封装 env.js文件配置 use strict /**小程序当前环境develop开发版、trial体验版、release正式版 */ const envVersion wx.getAccountInfoSync().miniProgram.envVersion; /**环境配置 */ module.expor…

jenkins部署jar

首先在post steps添加执行shell shell脚本 #!/bin/bash cd /home/script/ ./stop.sh ./replace.sh echo "Execute shell Finish" BUILD_IDdontKillMe nohup /home/script/startup.sh & stop.sh #!/bin/bashecho "Stopping helloWord.jar" pidps -ef …