无法提供模板
Not able to feed a template
我使用车把并使用助手在模板中使用条件;
我对休息架构进行了 ajax 调用,我收到了此数据
{
"firstName":"Paul",
"lastName":"Smith",
"operationType": "Achat",
"transactionDate":"17/08/2015",
"operationValue":3,
"reason":"Achat nourriture Tim Horton",
"transactionDate":"17/08/2015"
}
我的模板
{{#each this}}
<tr>
<td>{{firstName}} {{lastName}}</td>
<td>{{transactionDate}}</td>
<td>{{reason}}</td>
<td>{{#ifCond operationType '==' 'Achat'}}
{{operationValue}}
{{else}}
0
{{ifCond}}
</td>
<td>{{#ifCond operationType '==' 'Dépôt'}}
{{operationValue}}
{{else}}
0
{{ifCond}}
</td>
<td>{{#ifCond operationType '==' 'Retrait'}}
{{operationValue}}
{{else}}
0
{{ifCond}}
</td>
</tr>
{{/each}}
条件寄存器
Handlebars.registerHelper('ifCond', function (v1, operator, v2, options) {
switch (operator) {
case '==':
return (v1 == v2) ? options.fn(this) : options.inverse(this);
case '===':
return (v1 === v2) ? options.fn(this) : options.inverse(this);
case '<':
return (v1 < v2) ? options.fn(this) : options.inverse(this);
case '<=':
return (v1 <= v2) ? options.fn(this) : options.inverse(this);
case '>':
return (v1 > v2) ? options.fn(this) : options.inverse(this);
case '>=':
return (v1 >= v2) ? options.fn(this) : options.inverse(this);
case '&&':
return (v1 && v2) ? options.fn(this) : options.inverse(this);
case '||':
return (v1 || v2) ? options.fn(this) : options.inverse(this);
default:
return options.inverse(this);
}
});
当数据在模板中时出现此错误
未捕获的错误:ifCond 不匹配每个
有什么想法吗?
您的数据中没有 operationType 属性。尝试添加它。
{
"firstName":"Paul",
"lastName":"Smith",
"transactionDate":"17/08/2015",
"operationValue":3,
"reason":"Achat nourriture Tim Horton",
"transactionDate":"17/08/2015",
"operationType": "Achon"
}
您的模板中的块未正确关闭。当你用 {{#tag}}
打开一个块时,必须有一个匹配的 {{/tag}}
。在您的代码中,{{#ifCond}}
块中的 none 已正确关闭(缺少斜杠),并且顶层 {{#each}}
也未关闭(您应该 {{/each}}
在模板结束)。
我使用车把并使用助手在模板中使用条件; 我对休息架构进行了 ajax 调用,我收到了此数据
{
"firstName":"Paul",
"lastName":"Smith",
"operationType": "Achat",
"transactionDate":"17/08/2015",
"operationValue":3,
"reason":"Achat nourriture Tim Horton",
"transactionDate":"17/08/2015"
}
我的模板
{{#each this}}
<tr>
<td>{{firstName}} {{lastName}}</td>
<td>{{transactionDate}}</td>
<td>{{reason}}</td>
<td>{{#ifCond operationType '==' 'Achat'}}
{{operationValue}}
{{else}}
0
{{ifCond}}
</td>
<td>{{#ifCond operationType '==' 'Dépôt'}}
{{operationValue}}
{{else}}
0
{{ifCond}}
</td>
<td>{{#ifCond operationType '==' 'Retrait'}}
{{operationValue}}
{{else}}
0
{{ifCond}}
</td>
</tr>
{{/each}}
条件寄存器
Handlebars.registerHelper('ifCond', function (v1, operator, v2, options) {
switch (operator) {
case '==':
return (v1 == v2) ? options.fn(this) : options.inverse(this);
case '===':
return (v1 === v2) ? options.fn(this) : options.inverse(this);
case '<':
return (v1 < v2) ? options.fn(this) : options.inverse(this);
case '<=':
return (v1 <= v2) ? options.fn(this) : options.inverse(this);
case '>':
return (v1 > v2) ? options.fn(this) : options.inverse(this);
case '>=':
return (v1 >= v2) ? options.fn(this) : options.inverse(this);
case '&&':
return (v1 && v2) ? options.fn(this) : options.inverse(this);
case '||':
return (v1 || v2) ? options.fn(this) : options.inverse(this);
default:
return options.inverse(this);
}
});
当数据在模板中时出现此错误
未捕获的错误:ifCond 不匹配每个
有什么想法吗?
您的数据中没有 operationType 属性。尝试添加它。
{
"firstName":"Paul",
"lastName":"Smith",
"transactionDate":"17/08/2015",
"operationValue":3,
"reason":"Achat nourriture Tim Horton",
"transactionDate":"17/08/2015",
"operationType": "Achon"
}
您的模板中的块未正确关闭。当你用 {{#tag}}
打开一个块时,必须有一个匹配的 {{/tag}}
。在您的代码中,{{#ifCond}}
块中的 none 已正确关闭(缺少斜杠),并且顶层 {{#each}}
也未关闭(您应该 {{/each}}
在模板结束)。