我需要编写一个自定义手柄助手来检查查询参数,或者显示一个字段,或者不依赖。
不幸的是,它会向视图返回true或false并输出它,而不是评估true并显示if或false中的字段,而不显示任何内容。
非常欢迎任何帮助。
{{#sortedByDeals}}
<span class="deal-percentage">( {{ percent_off }} % OFF ds: {{ deal_score }})</span>
{{/sortedByDeals}}
Handlebars.registerHelper('sortedByDeals', function() {
console.log("helper method called")
var sortBy = getURLParameter('sort_by');
if(sortBy === "deals") {
console.log("true")
return true
} else {
return false
}
});
答案 0 :(得分:0)
通过阅读文档http://handlebarsjs.com/block_helpers.html#conditionals来回答我自己。
Handlebars.registerHelper('if', function(conditional, options) {
// console.log("helper method called")
console.log(conditional)
var sortBy = getURLParameter('sort_by');
if(sortBy === "deals") {
// console.log("true")
return options.fn(this);
} else {
// console.log("else")
return options.inverse(this);
}
});
并在模板中
{{#if sortedByDeals}}
<span class="deal-percentage">( {{ percent_off }} % OFF ds: {{ deal_score }})</span>
{{/if}}
答案 1 :(得分:0)
基本块助手无需使用条件助手即可工作。查看更多here
Handlebars.registerHelper('sortedByDeals', function() {
console.log("helper method called")
var sortBy = getURLParameter('sort_by');
if(sortBy === "deals") {
return options.fn(this);
}else {
return options.inverse(this);
}
});
在模板中,
{#sortedByDeals}}
<span class="deal-percentage">...</span>
{{/sortedByDeals}}