UNI-APP在使用SubNvue原生子窗体时,清理缓存的问题
最近在项目中遇到了一个莫名其妙的问题,在UNI-APP首页利用SubNvue原生子窗体实现了一个drawer抽屉菜单,当切换账户并uni.reLaunch之后,重新进入首页,多次打开、关闭drawer抽屉菜单,会出现数据错乱的bug。当退出App(杀死进程),重新进入App后,打开drawer抽屉菜单,数据又正常。后经打印排查,发现是存在缓存问题。
通过打印分析得知:
pages.json
"path": "pages/device/index/index","style": {"navigationBarTitleText": "","enablePullDownRefresh": false,"app-plus": {"subNVues": [{"id": "drawer","path": "pages/device/index/drawer/drawer","type": "popup","style": {"position": "absolute","width": "80%","height": "100%"} }]}}
drawer.nvue
created() {//获取系统信息uni.getSystemInfo({success: (res) => {this.statusBar = res.statusBarHeight;this.scrollHeight = res.windowHeight - res.statusBarHeight;}})//参数传递,监听uni.$on('DRAWER_FOR_DEVICE_TAB', (data) => {if(data){//处理传递的参数this.handleParamDatas(data);}})},beforeDestroy() {console.log("drawer destroy...")uni.$off('DRAWER_FOR_DEVICE_TAB');},
1、当退出App(杀死进程)时,subnvue生命周期函数beforeDestroy()会执行,进行销毁操作。
2、当uni.reLaunch,重启App时,subnvue生命周期函数beforeDestroy()不会执行,没有进行销毁操作。
解决:
方法一、使用subnvue隐藏方法close(),入参与hide方法一致,在relaunch之前调用。(验证过,有效)
uni.getSubNVueById('drawer').close('fade-out', 50);uni.reLaunch({url: "/pages/login/login"})
方法二:
直接调用plus.runtime.restart()方法重启应用,在Android不会进启动页,但在IOS中会重进原生启动页,这个方法交互上有点不好。(未验证)
UNI-APP在使用SubNvue原生子窗体时,清理缓存的问题相关推荐
- uni-app中覆盖视频(原生子窗体)、视频下载
在uni-app中,使用video时,要在视频上覆盖内容,并且要兼容app端,安卓端的适配还好做点,但是ios的话,就弄了我好久,搞了大半天才搞定,这里记录下 1.微信小程序端 视频做的是全屏显示的视 ...
- uniapp 使用原生子窗体进行视频聊天
uniapp 使用原生子窗体进行视频聊天 现在 uniapp 开发的实时音视频聊天类的 APP 大部分都要在 nvue 页面上进行开发.虽然 nvue 与 vue 的区别不是很大,但还是有所差异的. ...
- uniapp原生子窗体(弹出层为例子)
在当前目录下新建一个目录和一个nvue页面 pages.json文件 {"path": "msVideo/msVideo","style": ...
- uni app 自动化索引列表
uni app 自动化索引列表,官方推荐的第三方插件 https://ext.dcloud.net.cn/plugin?id=375 [{"letter": "A&quo ...
- 切换 uniapp_万能前端框架uni app初探03:底部导航开发
前言 本节我们使用uni app的底部导航功能,点击不同tab会显示不同页面,这个功能在实际项目开发中几乎是必备的. 一.基础知识 1.tabBar 如果应用是一个多 tab 应用,可以通过 tabB ...
- uni app map 地图 漂浮问题及方案
uni app map 地图 漂浮问题及方案 文章页有图片导致的问题,图片没加载出来,导致文章内容高度不固定,如果图片没加载出来,高度就是0,如果此时开始加载map,那么map就在那里加载,map原生 ...
- uni.app H5(微信公众号定位) uni.getLocation
最近在开发公众号,由于之前经常使用uni,app写APP,索性就用uni.app来开发公众号了, 不过也遇到了一个问题,就是在公众号的首页要获取用户的定位.我看了看官网的API 有个uni.getLo ...
- HBuilder X ——Uni app 学习笔记(一)
HBuilder X --Uni app 学习笔记(一) 1.pages.json配置 *pages数组中第一项表示应用启动页,数组中其他项为项目中所有页面路径. enablePullDownRefr ...
- uni app中使用图表
关于在uni app中运用图表 今天写项目,需要在uni app中使用图表,我使用的是ucharts. 具体操作如下 1.下载 ucharts可以直接在uni app的插件市场下载安装. 先在插件市场 ...
最新文章
- 【cordova打包】环境配置
- Java中的享元设计模式,涨姿势了!
- 4.PromQL快速入门
- C4C Adapt menu debugging
- 有趣的灵魂,从高质量的阅读开始
- HDU4612 Warm up
- dynamodb java_使用Java查询DynamoDB项
- 第13章 集成学习和随机森林 学习笔记中 oob
- Android 开发调用百度地图客户端
- Java部分集合以及部分常用类
- 拓嘉辰丰电商:拼多多长期活动有哪些?有什么特点
- LBP(局部二进制模式)
- python 试题:写一段程序逐行读入一个文本文件,并在屏幕上打印出来。
- 计算机软件如何控制硬件工作,介绍软件是怎样控制硬件的
- 一文讲懂页面置换算法,带例题详解
- Android VideoView 无法播放https网络视频问题
- 初玩OpenWRT之编译TP-Link WR841N V8固件
- IMS 网络架构(三)
- EmguCV基本操作(一)
- 计算机页面优盘页面分开,u盘被分成2个盘怎么合并
热门文章
- 又一个程序猿的奋斗史——第一章 初入职场
- vue项目配置 webpack-obfuscator 进行代码加密混淆
- 图形学基础 | 计算机图形学MOOC学习笔记
- 【Linux词典】之磁盘命令(fdisk、gdisk、mkswap、mount、umount、df、lsblk)
- 首席新媒体运营黎想教程:活动运营推广入门全攻略及进阶
- iTOP-4418开发板兼容八核6818开发板介绍
- c语言读取文件字节数,怎么在C语言中利用fstat函数获取文件的大小
- 6. Jetpack---Paging你知道怎样上拉加载吗?
- 九年级计算机课教学计划,九年级下学期计算机学科教学计划.doc
- Wiring in Spring: @Autowired, @Resource and @Inject