我在Node,Express和express-handlebars上运行了一个应用程序。该变量是分配给res.locals
的查询和条件助手“ifCond”(如this one)的结果。需要渲染的代码是部分代码。问题是当使用变量时助手不起作用:
//getting the variable works
{{groups}} // Group2
//works with standart block helper
{{#if groups}}1{{else}}2{{/if}} // 1
//helper is working
{{#ifCond 5 "==" 5}}equal{{else}}not equal{{/ifCond}} //equal
//not working when using variable with helper
{{#ifCond groups "==" Group2}}equal{{else}}not equal{{/ifCond}} //not equal
什么导致它不能与助手一起工作?谢谢。
答案 0 :(得分:1)
您需要将Group2
放在引号中,以便模板解析器将其视为字符串:
{{#ifCond groups "==" "Group2"}}
因为您正在尝试将字符串传递给助手。当你不在它周围加上引号时,把手解析器会尝试将其解析为变量名,就像它之前的groups
一样。