jyliyue
jyliyue
  • 发布:2022-10-05 10:01
  • 更新:2022-12-19 20:52
  • 阅读:553

【报Bug】uniapp 运行微信小程序时所有页面的 data 方法会自动执行一次(不管是不是当前页)

分类:uni-app

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

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.6.4

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

基础库版本号: 2.25.4

项目创建方式: HBuilderX

示例代码:
    export default {  
        data() {  
            console.log('执行');  
            return {  
                title: 'Hello'  
            }  
        },  
        onLoad() {  

        },  
        methods: {  

        }  
    }

操作步骤:
  1. 新建 uniapp 项目(vue2)
  2. 运行到微信小程序
  3. 修改 index.vue 页面代码,在 data 中加入打印语句

    export default {  
        data() {  
            console.log('执行');  
            return {  
                title: 'Hello'  
            }  
        },  
        onLoad() {  
    
        },  
        methods: {  
    
        }  
    }

预期结果:

console.log('执行') 只执行一次

实际结果:

console.log('执行') 执行了两次

bug描述:

uniapp 运行微信小程序时所有页面的 data 方法会自动执行一次(不管是不是当前页)

基于上述问题如果是当前页,data 就会初始化 2 次,导致有些数据处理会有问题,也比较影响性能

看截图(实测该问题仅在vue2 情况下出现,vue3版本项目不会)

2022-10-05 10:01 负责人:无 分享
已邀请:
DCloud_UNI_WZF

DCloud_UNI_WZF

问题已确认,感谢反馈,已加分

DCloud_UNI_WZF

DCloud_UNI_WZF

该问题由小程序运行机制与vue2编译策略导致,上述数据初始化问题,可通过把相关逻辑放到页面生命周期中调用规避

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