belowfox
belowfox
  • 发布:2020-08-14 09:48
  • 更新:2020-08-14 16:22
  • 阅读:871

【报Bug】在小程序端,在v-for循环中,使用循环变量的bug,v-if判断加上调用方法会导致报错

分类:uni-app

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

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 2.8.5

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

基础库版本号: 2.12.0

项目创建方式: HBuilderX

操作步骤:

1

预期结果:

1

实际结果:

1

bug描述:

先上代码:

<template>  
    <view>  
        <view style="color: red;">  
            bug:在v-for循环中,使用v-for的变量作为对象的key获取的value,并且作为v-if判断并调用方法,在小程序端会报错!!表述不太清楚请看看代码,一看就明白了!! 结果演示:  
        </view>  
        <view v-for="(item, idx) in arr" :key="idx">  
 <view>用循环变量作为对象属性key,作为v-if判断条件,里面直接显示,不报错:</view>  
            <view style="color: blue;" v-if="object[item] === '1'">没问题</view>  
            <view>用循环变量作为对象属性key,作为v-if判断条件,并内部调用方法,会报错:</view>  
            <view style="color: blue;" v-if="object[item] === '1'">{{ifmethod()}}</view>  
            <view>---</view>  
        </view>  
    </view>  
</template>  

<script>  
export default {  
    data() {  
        return {  
            arr: ['attr1', 'attr2'],  
            object: {  
                attr1: '1',  
                attr2: '2',  
            },  
        };  
    },  
    computed: {},  
    methods: {  

        ifmethod(){  
            return 'v-if判断';  
        }  
    },  
};  
</script>

报错:

VM34:1 TypeError: Cannot read property '$orig' of undefined  
    at Proxy.render (index.vue?51cf:6)  
    at VueComponent.Vue._render (mp.runtime.esm.js:3557)  
    at VueComponent.updateComponent (mp.runtime.esm.js:5697)  
    at Watcher.get (mp.runtime.esm.js:4417)  
    at new Watcher (mp.runtime.esm.js:4407)  
    at mountComponent$1 (mp.runtime.esm.js:5703)  
    at VueComponent.Vue.$mount (mp.runtime.esm.js:6033)  
    at Je.attached (index.js:1407)  
    at r.safeCallback (VM41 WAService.js:2)  
    at r.call (VM41 WAService.js:2)

上面代码在小程序端直接报错.
此问题和我之前提的一个bug相关联 https://ask.dcloud.net.cn/publish/bug/102443, 据评论说是修复上一个bug导致这个新bug出现.望官方可以紧急解决.

2020-08-14 09:48 负责人:无 分享
已邀请:
jxtian

jxtian

已在紧急处理中,可暂时先使用上一版hx。

sonicsunsky

sonicsunsky

https://ask.dcloud.net.cn/question/104062

要回复问题请先登录注册