请考虑我尝试过的以下代码段:
<script>
for (var key in photoList) {
if(key == photoList[key].id) {
var res = `<li id="thumbnail-`+key+`">
<div class="thumbnail `+(product.photo == photoList[key].id)+` ? 'thumbnail-main' : ''">
...
</div>
</li>`;
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
我尝试这样,但它不起作用?我该怎么做?
当你用一个带有严重标记(`)的字符串括起来时,它允许在字符串连接上插入表达式,称为模板文字,这在ES2015中是新的.您的三元运算符是一个表达式,因此您可以${expr}在字符串插值中使用表示法来插入表达式.由于您已经在使用模板文字,因此没有理由进行连接,因此:
var res = `<li id="thumbnail-${key}">
<div class="thumbnail ${product.photo == photoList[key].id ? 'thumbnail-main' : ''}>
...
</div>
</li>`;
Run Code Online (Sandbox Code Playgroud)
在任何想要使用表达式字符串连接的地方,您都可以使用插值.所以代替:
'1 + 1 = ' + (1 + 1)
Run Code Online (Sandbox Code Playgroud)
你可以做:
`1 + 1 = ${1 + 1}`
Run Code Online (Sandbox Code Playgroud)
因为1 + 1是表达.
| 归档时间: |
|
| 查看次数: |
278 次 |
| 最近记录: |