首页 > 解决方案 > 在模板文字中使用条件的问题

问题描述

如果我有以下代码,如何使三元运算符工作?

'<p>{balance==0?<span class="danger">Not available</span>:(Stock: {balance}})</p>'

谢谢!


很抱歉,也许我的问题不清楚。让我在这里详细说明一下,我正在使用 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 ? `<span class="danger">Not available</span>`:`(Stock: ${balance})`}</p>`,
                        '</div>',
                  '</div>',
                ].join(''))
              }
            };

标签: javascriptconditional-statementsliteralsternary

解决方案


尝试如下。

`<p>${balance==0 ? `<span class="danger">Not available</span>`:`(Stock: ${balance})`}</p>`

检查以下balance = 0&的结果balance = 1

let balance = 0;
let result = `<p>${balance==0 ? `<span class="danger">Not available</span>`:`(Stock: ${balance})`}</p>`;
console.log('balance = 0 ->', result);

balance = 1;
result = `<p>${balance==0 ? `<span class="danger">Not available</span>`:`(Stock: ${balance})`}</p>`;
console.log('balance = 1 ->', result);


推荐阅读