2***@qq.com
2***@qq.com
  • 发布:2021-01-22 17:55
  • 更新:2022-08-30 00:31
  • 阅读:1101

【报Bug】微信小程序computed会自动执行

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10专业版

HBuilderX类型: 正式

HBuilderX版本号: 3.0.5

第三方开发者工具版本号: 1.05.2101142

基础库版本号: 2.12.2

项目创建方式: HBuilderX

示例代码:
<template>  
    <view class="">  

    </view>  
</template>  

<script>  
    export default {  
        computed: {  
            aaa() {  
                console.log('这个会自动执行');  
                return 0  
            }  
        }  
    }  
</script>

操作步骤:
<template>  
    <view class="">  

    </view>  
</template>  

<script>  
    export default {  
        computed: {  
            aaa() {  
                console.log('这个会自动执行');  
                return 0  
            }  
        }  
    }  
</script>

预期结果:

应与H5保持一致,仅在使用才会执行

实际结果:

在小程序中,computed会自动执行,组件初始化时,即使没有使用computed,也总会自动执行!!!

bug描述:

computed会自动执行,组件初始化时,即使没有使用computed,也总会自动执行!!!

2021-01-22 17:55 负责人:DCloud_UNI_GSQ 分享
已邀请:
DCloud_UNI_GSQ

DCloud_UNI_GSQ

使用 Vue3/Vite 的编译器已避免此问题。

基于 Vue2/WebPack 的编译器不再针对此问题进行改动,原因如下:

  1. 由于历史架构限制改动较大影响稳定性
  2. 开发者一般会遵循 Vue 官方的建议避免(依赖)计算属性的副作用,所以实际影响较小优先级低
dashuai

dashuai

小程序的计算属性 computed ,除了楼主的问题;

我还遇到了,页面首次打开,是可更新的,只不过会重复的更新,做无用功,还算问题不大;

关闭页面后重新打开页面,computed 的计算属性就不更新了,这个是个大问题了;排查了一下,发现除了第一次打开页面,后面再打开页面,computed 会比 onload之前执行一次,之后就不执行了,好像休克了;

如果把小程序彻底关闭,重新打开页面,又是computed 第一次可以执行,之后就不执行了;

该问题目前已经被锁定, 无法添加新回复