javascript:如何在html中使用三元表达式呈现?

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}}):不可用}

下面是一个javascript三元运算符代码

'<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>"