您好我正在尝试根据车把辅助方法切换模板
Handlebars.registerHelper("isMobile", function(){
return typeof window.ontouchstart === "object";
});
并在模板中
{{isMobile}} --mobile template--
但是这个辅助方法不起作用,因为我需要像
这样的东西 {{#if}} this {{else}} that{{/if}}
我不想使用{{#if mobile}},因为所有数据都被解析并发送到骨干模型,这与在解析过程中修改模型无关。
提前感谢任何建议/帮助
答案 0 :(得分:0)
您可以按建议使用options.inverse here:
Handlebars为else片段提供了块 options.inverse。
因此,使用 options.fn 和 options.inverse 重写您的助手。
Handlebars.registerHelper("ifMobile", function(options){
if ( typeof window.ontouchstart === "object" ) {
return options.fn(this);
} else {
return options.inverse(this);
}
});
最后,您的模板应如下所示:
{{#ifMobile}}
<span>Mobile!</span>
{{else}}
<span>Not mobile!</span>
{{/ifMobile}}