【发布时间】:2021-01-10 15:51:48
【问题描述】:
我有一个这样的对象数组:
orders : [
{
id: 1,
image: require("./assets/imgs/product1.png"),
originalPrice: 40,
discountPrice: "",
buyBtn: require("./assets/icons/buy.svg"),
likeBtn: require("./assets/icons/like.svg"),
productName: "Marianna Collection",
productRating: "★★☆☆☆",
class: "new"
},
{
id: 2,
image: require("./assets/imgs/product2.png"),
originalPrice: 60,
discountPrice: 30,
buyBtn: require("./assets/icons/buy.svg"),
likeBtn: require("./assets/icons/like.svg"),
productName: "Marianna Collection",
productRating: "★★☆☆☆",
class: "new"
},
]
现在我想做的只是在我的购物车中显示一个价格,所以我想说:
if discountPrice ! = '' show discountPrice else show originalPrice
这是我尝试过的:
<td class="tg-lqy6" :class="order.discountPrice != '' ? 'exist' : ''" id="originalPrice">{{ order.originalPrice }} sr</td>
<td class="tg-lqy6" :class="order.discountPrice != '' ? 'exist' : ''" id="discountPrice">{{ order.discountPrice }} sr</td>
并设置如下样式:
#originalPrice.exist{
display: none !important;
}
#discountPrice{
display: none !important;
}
#discountPrice.exist{
display: block !important;
}
它正在工作,但我想通过方法来做到这一点。我想在数据中有一个价格变量来获取价格的值,因为我会将它乘以金额来获得总数,而我无法使用该代码执行此操作。
【问题讨论】:
-
不太清楚你想要实现什么。你能指定更好吗?尽量不要将数字与字符串混合。正如 kako-jun 在回答中所说,最好设置
discountPrice = -1或discountPrice = null以使此属性无效。在标签类属性比较中使用::class="order.discountPrice > -1 ? 'exist' : ''"或:class="order.discountPrice != null ? 'exist' : ''"
标签: javascript vue.js vuejs2 vue-component dom-events