[英]javascript: How to use ternary expression render in html?
Here is a javascript ternary operator codes.这是一个 javascript 三元运算符代码。
'<p>{balance>0?(Stock: {{balance}}):<span class="text-danger">Not Available</span>}</p>'
I tried many ways in order to rendered proper in HTML, however has no luck.我尝试了很多方法来在 HTML 中正确呈现,但是没有运气。
Output: {balance>0?(Stock: {{balance}}):<span class="text-danger">Not Available</span>}
Output expected: (Stock: 23) or Not Available (in red color)输出:
{balance>0?(Stock: {{balance}}):<span class="text-danger">Not Available</span>}
预期输出:(库存:23)或不可用(红色)
Thank you in advance!先感谢您!
Below is part of codes that use for working with Bloodhound plugin.以下是用于使用 Bloodhound 插件的部分代码。
var prodName_typehead = {
name: 'prod_name',
displayKey: 'name',
hint: (App.isRTL() ? false : true),
source: item.ttAdapter(),
limit: 20,
templates: {
suggestion: Handlebars.compile([
'<div class="media">',
'<div class="pull-left">',
'<div class="media-object">',
'<img src="{{thumb}}" width="50" height="50"/>',
'</div>',
'</div>',
'<div class="media-body">',
'<p><strong>{{name}}</strong></p>',
'<p>{{desc}}</p>',
'<p>{balance>0?(Stock: {{balance}}):<span class="text-danger">Not Available</span>}</p>',
'</div>',
'</div>',
].join(''))
}
};
`<p>${balance>0?`Stock: ${balance}`:`<span class="text-danger">Not Available</span>`}</p>`
balance = 0
`<p>${balance>0?`Stock: ${balance}`:`<span class="text-danger">Not Available</span>`}</p>`
I get:我得到:
"<p><span class="text-danger">Not Available</span></p>"
balance = 1
`<p>${balance>0?`Stock: ${balance}`:`<span class="text-danger">Not Available</span>`}</p>`
I get:我得到:
"<p>Stock: 1</p>"
I'm using javascript template literals to complete the variable substitution you were going for.我正在使用 javascript 模板文字来完成您想要的变量替换。
(Basically the issue you were having is that you needed ticks (`) instead of double quotes (") to make a template literal as NarayaN alluded to in his comment, a $ before the first bracket to start the javascript embed and then nesting this same logic for the balance inside the first string option.) (基本上你遇到的问题是你需要刻度(`)而不是双引号(“)来制作一个模板文字,正如 NarayN 在他的评论中提到的那样,在第一个括号之前的 $ 开始嵌入 javascript 然后嵌套这个第一个字符串选项中的余额的逻辑相同。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.