问题描述

  1. 需求背景:在vue项目的开发时,由于一些项目需求,会要求从当前vue页面A跳转到外链页面B的情况;当跳转到外链B后,点击系统返回功能键,就会返回到页面A。
  2. 问题产生:在实际开发中,在ios系统上出现了一个问题:当从外链页面B点击系统返回键到页面A时,路由钩子函数没有执行,同时created和mounted生命周期钩子中的部分代码也没有执行,比如说localStorage和sessionStorage的setItem()和getItem()方法。而android系统上则不会出现这种问题。

问题解决

  1. 在页面A的created和mounted生命周期钩子中监听pageshow事件,当监听到pageshow事件后执行需要执行的代码,实现代码如下:
window.addEventListener('pageshow', () => {
	sessionStorage.setItem('isFlag', 'true')
})
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐