Node.js 车把中的助手打印HTML标记
我有一个试图动态创建这个表的把手代码Node.js 车把中的助手打印HTML标记,node.js,html-table,handlebars.js,helper,Node.js,Html Table,Handlebars.js,Helper,我有一个试图动态创建这个表的把手代码 <tr> {{#each this}} {{#ifCond this }} {{/ifCond}} {{/each}} </tr> {{{#每个这个} {{{#如果再这样} {{/ifCond} {{/每个}} 现在我有了一个这样定义的Handlebar助手(在res.render中发送这个助手,如下所示) 'ifCond':函数(状态){ 如果(状态=“成功”) 返回空格键.Sa
<tr>
{{#each this}}
{{#ifCond this }}
{{/ifCond}}
{{/each}}
</tr>
{{{#每个这个}
{{{#如果再这样}
{{/ifCond}
{{/每个}}
现在我有了一个这样定义的Handlebar助手(在res.render中发送这个助手,如下所示)
'ifCond':函数(状态){
如果(状态=“成功”)
返回空格键.SafeString(“”+状态+“”);
否则如果(状态=“失败”)
返回空格键.SafeString(“”+状态+“”);
否则如果(状态==“未知”
返回空格键.SafeString(“”+状态+“”);
其他的
返回空格键.SafeString(“”+状态+“”);
}
似乎不起作用。有人能帮我吗?下面是一个示例,说明如何做到这一点: 模板:
{{#each lines}}
<tr>
{{#each columns as |column|}}
{{#ifCond column}}
{{/ifCond}}
{{/each}}
</tr>
{{/each}}
我不会使用
this
它是保留关键字。那么我如何将当前值传递给帮助器。当前值就是“this”所具有的值。如果this
是模板中可用的变量,则它假定您传递的对象类似于{this:[值或对象数组]}
。能否显示数据结构以及如何将其传递给车把?
{{#each lines}}
<tr>
{{#each columns as |column|}}
{{#ifCond column}}
{{/ifCond}}
{{/each}}
</tr>
{{/each}}
Handlebars.registerHelper('ifCond', function( column ) {
if(column.state == "success") {
return '<td class="tile-green">' + column.state + '</td>';
} else if( column.state == "failure") {
return '<td class="tile-red">' + column.state + '</td>';
} else if (column.state == "unknown") {
return '<td class="tile-orange">' + column.state + '</td>';
} else {
return '<td>' + column.state + '</td>';
}
});
{ "lines" : [
{ "columns" : [ { "state" : "STEP1" }, { "state" : "STEP2" }, { "state" : "STEP3" } ] },
{ "columns" : [ { "state" : "success" }, { "state" : "failure" }, { "state" : "unknown" } ] },
{ "columns" : [ { "state" : "success" }, { "state" : "success" }, { "state" : "unknown" } ] }
] }