w***@163.com
w***@163.com
  • 发布:2023-09-11 19:09
  • 更新:2023-09-12 10:08
  • 阅读:682

【报Bug】uniapp APP版本 ,组件的beforeDestroy 方法失效。

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 3.8.12

手机系统: iOS

手机系统版本号: iOS 16

手机厂商: 苹果

手机机型: 任意型号

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

调用代码:

 <block v-if="!dataInfo.showSale || (dataInfo.showSale && dataInfo.showSale != 'YES')">  
                    <formItem label="楼栋房号" prop="propertyName">

formItem 组件监听方法:
beforeDestroy() {
console.log("=beforeDestroy=field.prop=="+this.prop);
}

操作步骤:

当v-if条件为false的时候,formItem会隐藏,但是beforeDestroy 没有执行到日志

预期结果:

v-if 隐藏组件的时候,会触发到组件内部的 beforeDestroy 方法。

实际结果:

v-if 隐藏组件的时候,不会触发到组件内部的 beforeDestroy 方法。

bug描述:

APP里面,如果组件 v-if 隐藏组件的时候,为什么组件内部的 beforeDestroy 方法没有执行到呢,小程序都没有问题。

2023-09-11 19:09 负责人:无 分享
已邀请:
w***@gmail.com

w***@gmail.com

vue没有这个生命周期啊,用beforeUnmount试试

  • w***@163.com (作者)

    beforeUnmount 也不行呢,一样的监听不到

    2023-09-12 18:29

  • w***@gmail.com

    回复 w***@163.com: 我昨天看的是vue3,没那个生命周期。我今天换vue2打包apk试了一下,是可以触发的。我是安卓机子。如果iOS确定不行的话,那可能得考虑iOS兼容问题了。

    2023-09-13 09:58

  • w***@163.com (作者)

    回复 w***@gmail.com: 那应该是ios兼容性得问题,谢谢

    2023-09-13 11:49

  • w***@gmail.com

    回复 w***@163.com: 我觉得iOS的浏览器应该也跟上新标准了,也没见大批量报生命周期这个问题。你那里有条件也试着打一个apk包在安卓设备里面验证一下吧,万一安卓也不能工作,那就应该还是代码问题。我这里实在是没Mac和iPhone

    2023-09-13 14:17

要回复问题请先登录注册