yuanyxh
yuanyxh
  • 发布:2023-11-16 14:41
  • 更新:2023-11-16 15:06
  • 阅读:180

【报Bug】nvue 页切换至 vue 页面时,body 身上的 nvue、nvue-* 等属性未被清除

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: window 10

HBuilderX类型: 正式

HBuilderX版本号: 3.97

浏览器平台: Chrome

浏览器版本: 119

项目创建方式: HBuilderX

App下载地址或H5⽹址: https://www.u-area.com/m/

操作步骤:
  1. vue 页面刷新
  2. 进入 nvue 页面
  3. 再次刷新
  4. 返回 vue 页面

预期结果:

样式逻辑正常

实际结果:

样式混乱,无法滑动

bug描述:

在 vue 页面刷新,进入 nvue 页面,再次刷新,返回 vue 页面,此时样式错乱;检查元素发现 body 身上存在属性 nvuenvue-dir-column

返回 vue 页时默认删除这两个属性的方法无效,虽然样式正常,但页面无法滑动。

2023-11-16 14:41 负责人:无 分享
已邀请:
yuanyxh

yuanyxh (作者) - 站在巨人的肩膀上

目前通过以下方式可以解决:H5 端,在 vue 页面的 onShow 生命周期中,判断 body 身上是否存在 nvue 等属性,如果存在则替换当前页面的历史记录

export default {  
  onShow() {  
      // #ifdef H5  
     const attrs = document.body.attributes;  

     for (let i = 0; i < attrs.length; i++) {  
       if (attrs[i].name.startsWith('nvue')) {  
         this.$router.replace({ name: this.$route.name });  
     break;  
       }  
    }  
    // #endif  
  }  
}

要回复问题请先登录注册