我使用把手,我使用帮助器在模板中使用条件; 我对其他架构进行了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与每个
不匹配有什么想法吗?
答案 0 :(得分:3)
您的模块未在模板中正确关闭。当您使用{{#tag}}
打开某个区块时,必须有匹配的{{/tag}}
。在您的代码中,{{#ifCond}}
块没有一个正确关闭(缺少斜线),并且顶级{{#each}}
也未关闭(您应该在模板末尾有{{/each}}
)。
答案 1 :(得分:1)
您的数据中没有operationType属性。尝试添加它。
XDocument xdoc = XDocument.Load(filename);
xdoc.Element("configuration").Element("appSettings").Elements("add")
.Where(x => (string)x.Attribute("key") == "pass").Remove();
xdoc.Save(filename);