vue的v-bind:value=""中使用过滤器

<input type="text" disabled="disabled" class="fl" v-bind:value="details.loanCardCode | bankCard"/>
filters : {
        moneyFormat : function(value){
            return Utils.moneyFormat(value)
        },
        bankCard : function(value){
            if(/\S{5}/.test(value)){
                return value.replace(/\s/g,'').replace(/(.{4})/g, "$1 ").replace(/\s$/,'')
            }
        }
},

代码如上
浏览器会报“TypeError: Cannot read property ‘replace’ of undefined”这个错误,指示到return value.replace(/\s/g,'').replace(/(.{4})/g, "$1 ").replace(/\s$/,'')这行代码上
请问是什么问题?
当写成<input type="text" disabled="disabled" class="fl" v-bind:value="bank | bankCard"/>的时候是好的,是details.loanCardCode这里出错了吗?

回答:

绑定改为:(details.loanCardCode || ”) | bankCard

因为 details.loanCardCode 有可能是 undefined

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注