有个关于vue可能比较常见的问题,我却有点不知道怎么处理,想请大家帮忙看下 ,谢谢?

<u--input

@change="discount_change($event,index)"

@blur="discount_price_blur($event,index)"

v-model="item.discounts">

</u--input>

上面是条循环的数据,item.discounts后端传过来的可能是一个空字符串,但是我需要判断如果是空字符串,就改为0,否则就还是item.discounts

我用三元表达式改为v-model="item.discounts == ''? 0 : item.discounts"
发现v-model里写三元表达, 会报错,请问这种情况,如何处理比较好?谢谢


回答:

最科学的方法是,拿到数据后,立刻处理一下不和格的数据,类似这样

const data = await getTestData()

data.forEach(function (item) {

item.discounts = item.discounts || 0

item.status = item.status === 1 ? true : false

})

// 最后才给vue使用

this.list = data


回答:

v-model比较特殊,因为这儿不仅要读取item.discounts, 而且当你改变input的值的时候,还会自动改变item.discounts,你写成三元表达式,它就没法赋值了,所以就报错了。

正确做法是仍然定义v-model="item.discounts",只是在你读取到数据x后,直接改变

item.discounts=x===''?0:x;


回答:

让后端解决吧,这是后端的责任

以上是 有个关于vue可能比较常见的问题,我却有点不知道怎么处理,想请大家帮忙看下 ,谢谢? 的全部内容, 来源链接: utcz.com/p/933032.html

回到顶部