Cople
Cople
  • 发布:2020-03-18 18:49
  • 更新:2020-04-02 15:20
  • 阅读:893

【报Bug】v-if 等于 false,内部元素如果有 filter 会导致报错

分类:uni-app
Vue

详细问题描述

以下代码中, {{data.foo | filterDemo}} 理论上不应该会被渲染,但实际会因为 data 为 null 导致报错

<template>  
    <view v-if="data">  
        {{ data.foo | filterDemo }}  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                data: null  
            }  
        },  
        filters: {  
            filterDemo() {  
                return 'bar';  
            },  
        }  
    }  
</script>

[结果]
控制台报错
TypeError: Cannot read property 'foo' of null

[期望]
无报错

IDE运行环境说明

HBuilderX 2.6.5

uni-app运行环境说明

微信小程序
v3模式

2020-03-18 18:49 负责人:无 分享
已邀请:
Cople

Cople (作者)

这么明显的 bug,没人注意?

sonicsunsky

sonicsunsky

我也发现这个问题了,暂时没有回复

  • sonicsunsky

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

    2020-03-30 16:12

2***@qq.com

2***@qq.com

我也发现了这个问题,不过h5没出问题,小程序出现了这个问题。
后来我将 null 改为 false 就可以了(虽然一个对象属性用 false 初始化很奇怪...)

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