今天也是遇到了模版字符串相关的问题,记录一下
上代码:
$('#' + type).append(`
<dt class="classList-price">
// 类型一,免费 (修改前的源码忘了,这不重要)
// 类型二,原价
// 类型三,折扣
</dt>
`);
在模板字符串 ${}
中不能直接使用 if 语句,同样不能直接使用 case
语句,尽管可以用三元运算符来在模板字符串中实现条件判断,但是这段功能超出了三元运算符的能力范围。
所以,我选择在模板字符串外部使用条件语句,然后拼接字符串。
let result;
switch (type) {
case 'free':
result = `<span class="free">免费</span>`;
break;
case 'boutique':
result = `<span class="boutique">¥${item.coursePrice}</span>`;
break;
case 'discount':
result = `
<span class="discount">¥${item.discountPrice}</span>
<span class="full">¥${item.coursePrice}</span>
<div class="time_limit">限时钜惠</div>
`;
break;
default:
return 0;
}
$('#' + type).append(`
<dt class="classList-price">
${result}
</dt>
`);