有个关于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