JavaScript:在模板变量中添加if条件

时间:2019-04-16 05:50:22

标签: javascript html string if-statement ecmascript-6

我在Javascript中有一个模板变量,如下所示

 var TABLE_ROW = '<tr class={{bgColor}}>'
            + '<td><input id={{ID}} type="checkbox" class="mysqlListCheckbox" checked="checked"/> <span style="padding: 7px;">{{COUNT}}</span></td>'
    + '<td><p class=text-warning>{{COMMENTS}}</p></td>'
    + '</tr>';

此刻,ID始终处于选中状态,但是如果ID为空,则我想对其进行修改,例如COMMENTS不应被选中/选择。

我是Javascript模板变量的新手。任何实现此目的的参考链接都将受到高度赞赏。

谢谢。

2 个答案:

答案 0 :(得分:1)

使用三元运算符(如果模板引擎支持它):

var TABLE_ROW = '<tr class={{bgColor}}>'
            + '<td><input id={{ID}} type="checkbox" class="mysqlListCheckbox" checked={{COMMENTS == "" ? "" : "checked"}}/> <span style="padding: 7px;">{{COUNT}}</span></td>'
    + '<td><p class=text-warning>{{COMMENTS}}</p></td>'
    + '</tr>';

答案 1 :(得分:0)

由于您是Java语言的新手,请尝试了解JS的工作原理。这样的JS不会为模板目的提供任何现成的模板,可以使用HandleBars.js(如果使用过HandleBars的话)。我建议您使用辅助函数来解决这个问题。

车把链接 https://handlebarsjs.com/

Handlebars.registerHelper('decideSelect',function(param){
    if(param.COMMENTS.length==0){
        let Htmlstr =  '<td><input id='+param.ID+' type="checkbox" class="mysqlListCheckbox" /> <span style="padding: 7px;">'+param.COUNT+'</span></td>'+'<td><p class=text-warning>'+param.COMMENTS+'</p></td>';
        return Htmlstr;
    }else{
        let Htmlstr =  '<td><input id='+param.ID+' type="checkbox" class="mysqlListCheckbox" checked="checked"/> <span style="padding: 7px;">'+param.COUNT+'</span></td>'+'<td><p class=text-warning>'+param.COMMENTS+'</p></td>';
        return Htmlstr;
    }


});
};

var TABLE_ROW = '<tr class={{bgColor}}>'
    + '{{decideSelect this}}</tr>';