В vue вы бы предпочли использовать метод для такого рода утверждений.
Я думаю, это одна из причин, почему вы пропустили toFixed(2)
в первом троичном выражении.
Такв методе вы можете представить что-то вроде:
price(mrp) {
let price = mrp && (mrp.totalPrice - (mrp.totalPrice * (this.medicine.discountPercentage / 100));
return isNaN(price) ? 0 : price;
}
И в вашем шаблоне:
<v-flex xs3 class="text-lg-right"
v-for="(mrp, index) in [medicine.orderedMedView.combinations[combinationIndex]]" :key="index">
<div class="primary-header-font">
₹ {{ price(mrp) }}
</div>
<span v-if="mrp && mrp.totalPrice != NaN" class="secondary-header-font">
{{ medicine.discountPercentage }}%
</span>
<span v-if="mrp && mrp.totalPrice != NaN" class="secondary-header-font strike-through">
₹ {{ mrp && mrp.totalPrice && (mrp.totalPrice).toFixed(2) || 0 }}
</span>
</v-flex>
Если вы хотите избежать какой-либо проверки, вы всегда можете использовать v-if="medicine"
на v-flex
так что никакое значение не вычисляется, пока не будет заполнено лекарство.