最近在做小程序的时候遇到这么一个有趣的问题,就是从A页面跳转到B页面,如果B页面需要在接口加载之后更改title,
并且如果接口请求过慢,还灭有请求完毕时就点击返回按钮回到A页面,这时B页面的请求会继续执行,并在执行完毕后修改了A页面的title。

原因

个人猜想,小程序本身属于单页面应用,代码的运行权限没有处理好,就像上面这种情况,B页面的代码穿越到了A页面的环境里面,并且执行。

解决

  1. 既然B页面的请求方法可以在A页面执行,那么在B页面的方法中获取的当前的页面路由时就有可能可以获取到A页面的路由,经过测试果然不出所料。
  2. 所以,可以这样来解决这个问题:在B页面的onLoad中获取当前页面路径,应该是/b,然后在方法中再次获取当前路径,可能是/b,也可能是/a
    若是/a,则是上面提到问题情况,这个时候就不用取改变title了,若是/b,则可以更改。

代码

// utils.js
const getCurrentRouter = function () {let arr = getCurrentPages(),len = arr.length;return arr[len - 1].route;
}export {getCurrentRouter};// b.js
import {getCurrentRouter};
import { getDataForB } from '../../../servies/services.js';Page({onLoad (options) {this.currentRouter = getCurrentRouter();},// 获取数据getData () {getDataForB().then(() => {// 获取数据后判断router是否一致if (this.currentRouter == getCurrentRouter()) {wx.setNavigationBarTitle({title: '要修改的title'})}})}
})

个人博客:午后南杂

转载于:https://www.cnblogs.com/luanhewei/p/9461519.html

【小程序】当前“页面B”动态更改title,点击返回按钮,更改的标题会显示在“来源页面A”...相关推荐

  1. H5静态页面跳转微信小程序;从外部浏览器,点击H5链接跳转打开微信小程序;以及在微信内直接点击H5链接打开微信小程序;

    参考链接 需求:从外部浏览器,点击H5链接跳转打开微信小程序:以及在微信内直接点击H5链接打开微信小程序: 步骤1: 小程序开发需要使用云开发创建项目,使用云开发生成的项目会自带云函数文件夹: 步骤2 ...

  2. 微信小程序给echarts图表动态赋值

    微信小程序给echarts图表动态赋值 接上一篇:微信小程序引入echart图表 直接上例子(运行需要结合上一篇,拉至文章顶部进入): import * as echarts from '../../ ...

  3. 微信小程序:block制作动态商品列表

    微信小程序:block制作动态商品列表 在制作微信小程序时,我们往往会碰到需要动态生成列表的情况,本文便是以常见的商品列表为例来学习如何利用block制作动态商品列表. 运行截图 实现代码 js: P ...

  4. 微信小程序使用echarts绘画动态图表

    微信小程序使用echarts绘画动态图表 首先我们从官网下载echarts插件,路径是https://github.com/ecomfe/echarts-for-weixin,把echarts文件放到 ...

  5. 微信小程序之获取后台动态数据表格布局display:table

    微信小程序之获取后台动态数据表格布局display:table 猿来独往 2018-09-02 本文没有采用flex布局和grid布局来设置表格的,而是通过 display: table;来设置. 一 ...

  6. h5页 点击返回时关闭_在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口...

    最近在使用微信.支付宝.百度钱包实现网页支付,对支付成功将自动关闭页面,对于支付失败,将显示错误信息.当在错误页面的时候,点击返回 或者Android物理按键上一步的时候,将关闭页面. 在微信.支付宝 ...

  7. 在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法

    在微信.支付宝.百度钱包实现点击返回按钮关闭当前页面和窗口的方法,传统的window.close()是无效的,必须要使用它们的js代码才能关闭. 最近在使用微信.支付宝.百度钱包实现网页支付,对支付成 ...

  8. 微信小程序 使用三元运算符动态渲染布局

    今天在写微信小程序时,被坑到了, <!--.wxml-> <view class="row-in {{to_top ? 'to-top' : 'to-bottom'}}&q ...

  9. 微信小程序双瀑布流布局+动态懒加载

    效果图 实现代码: 思路: 将双瀑布流分为left.right两个数据流,通过动态获取两边数据的动态高度来进行判断,下一条数据插入低的一方. 因为用户所上传图片高度不一致,所以image的mode属性 ...

最新文章

  1. Linux使用netstat命令查看并发连接数
  2. Spring Cloud 学习资料收集
  3. go gorm 密码隐藏_掀开华为云的Go语言编程底座!有深度、有点难、需细品(上)...
  4. oracle11gR2静默安装
  5. mac上java文件如何编译_如何在Mac上用Java编译和运行程序?
  6. java冒泡排序菜鸟教程_排序算法总结 | 菜鸟教程
  7. 如何在linux下观看需vodplayer播放的电影
  8. pl/sql 存储过程实例
  9. C#获取电脑硬件信息(CPU ID、主板ID、硬盘ID、BIOS编号)
  10. WebService之CXF框架
  11. 电脑的ppt打不开计算机二级,ppt打不开怎么办?详细教您详细解决方法
  12. axio的请求异常响应统一处理
  13. Java抓图程序的实现(改进版)
  14. 如何快速入侵一个网站
  15. java吃水果小游戏中水果,蔬菜等的重画
  16. opc客户端读取数据品质是bad_如何通过OPC自定义接口来实现客户端数据的读取
  17. 计算机技术 在职,计算机技术在职研究生招生简章
  18. 对国内游戏产业的无力吐槽
  19. 快速将图片背景去掉教程
  20. 酷我音乐linux版本,酷我音乐盒的 Gtk/Linux 实现 – v2.5 版本发布

热门文章

  1. 算法导论 第十三章 红黑树(python)-1插入
  2. memcached安装及.NET中的Memcached.ClientLibrary使用详解
  3. 用fiddler解决跨域访问
  4. 名校和非名校[两个实习生的事]
  5. 活久见,自己创造的框架竟然比开源的好用
  6. 吞吐性能翻倍!搭载了第三代Tensor Core的A100是怎么做到的?
  7. 谷歌2D景观转3D风景大片,无惧复杂光线与遮挡
  8. CV Papers|计算机视觉论文推荐周报20200601期
  9. 「假期余额不足」安排用Python写个时间在线生成器 快夸我
  10. 【OpenCV】OpenCV函数精讲之 -- 离散傅里叶变换原理