我不明白为什么我不能做
openAndFillModalSoin(soin)
{
this.show = true,
this.vDate = soin.date,
this.vCategorie = soin.categoriesoin.name,
//This can be null
if(soin.rabaisraion){
this.vReasonReduction = soin.rabaisraison.id;
}
this.vPaiement = soin.moyendepaiement.nam,
this.vRefer = soin.referedBy,
//This can be null aswell
this.vGiftCard = soin.boncadeau.id,
this.vVoucher = soin.bonreduction.id;
this.vID = soin.id;
},
“如果”部分不起作用,它要求输入表达式。
答案 0 :(得分:1)
if(soin.rabaisraion){
this.vReasonReduction = soin.rabaisraison.id;
}
此代码将在以下条件不成立时运行 soin.rabaisraion是数字0,false,null,undefined或空字符串。
重申一下,字符串“ false”,字符串“ 0”和一个数组(是否为空)都是true。
此外,如果soin为null或未定义,那将是运行时错误。
也许您想要这样:
if(soin && soin.rabaisraion){
this.vReasonReduction = soin.rabaisraison.id;
}
无论如何,请在添加日志之前先查看发生的情况:
console.log('checking soin', soin)
console.log('checking boolean soin', !!soin)
if(soin && soin.rabaisraion){
this.vReasonReduction = soin.rabaisraison.id;
}
'!!'会将值强制为布尔值。
答案 1 :(得分:1)
您可以使用逗号而不是分号来结束上一行。