javascript:如何在html中使用三元表达式呈现?
下面是一个javascript三元运算符代码javascript:如何在html中使用三元表达式呈现?,javascript,conditional-operator,render-html,Javascript,Conditional Operator,Render Html,下面是一个javascript三元运算符代码 '<p>{balance>0?(Stock: {{balance}}):<span class="text-danger">Not Available</span>}</p>' '{balance>0?(库存:{{balance}}):不可用}' 为了在HTML中正确呈现,我尝试了很多方法,但是运气不好 输出:{balance>0?(库存:{{balance}}):不可用}
'<p>{balance>0?(Stock: {{balance}}):<span class="text-danger">Not Available</span>}</p>'
'{balance>0?(库存:{{balance}}):不可用}'
为了在HTML中正确呈现,我尝试了很多方法,但是运气不好
输出:{balance>0?(库存:{{balance}}):不可用}
预期产量:(库存:23)或不可用(红色)
提前谢谢你
下面是用于处理猎犬插件的部分代码
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(''))
}
};
var prodName\u字体={
名称:“产品名称”,
displayKey:'名称',
提示:(App.isRTL()?false:true),
来源:item.ttAdapter(),
限额:20,
模板:{
建议:车把([
'',
'',
'',
'',
'',
'',
'',
“{{name}”,
“{{desc}”,
“{balance>0”(库存:{{balance}}):不可用}”,
'',
'',
].加入(“”)
}
};
我相信您想要的是:
`${balance>0?`Stock:${balance}`:`notavailable``
当我运行此命令时:
balance=0
` ${balance>0?`Stock:${balance}`:`不可用`}`
我得到:
"<p><span class="text-danger">Not Available</span></p>"
"<p>Stock: 1</p>"
“不可用”
当我运行这个时:
balance=1
` ${balance>0?`Stock:${balance}`:`不可用`}`
我得到:
"<p><span class="text-danger">Not Available</span></p>"
"<p>Stock: 1</p>"
“股票:1”
我正在使用javascript模板文字来完成您要进行的变量替换
(基本上,您遇到的问题是,您需要用记号(`)而不是双引号(“)来生成模板文字,正如NarayaN在其评论中所提到的,在第一个括号前加$以开始javascript嵌入,然后将相同的逻辑嵌套在第一个字符串选项中的余额中。)使用``来编写表达式。我尝试了您建议的方法,但不起作用->709未捕获引用错误:未定义余额。如果编译步骤的输入需要双括号,正确的解决方案应该是:
${balance>0?
库存:{{balance}:
不可用}
错误消失,但仍不起作用。输出显示如下${balance>0?股票:{{balance}}:not Available}@user610983抱歉,我之前的评论可能格式不好,您能确认您键入了(勾号在这里不起作用,请用勾号替换我写的单引号):“${balance>0?”股票:{{balance}}:“not Available”}'是的。我用记号替换了单引号,并添加了双大括号。这次我遇到了一个错误:意外的字符串。
"<p>Stock: 1</p>"