2013-05-08 60 views
0
<template name="postItem"> 
    <div class="post"> 
    <div class="post-content"> 
     <h3><a href="{{url}}">{{title}}</a><span>{{domain}}</span></h3> 
    </div> 
    <a href="{{postPagePath this}}" class="discuss btn">Discuss</a> 
    </div> 
</template> 

这会返回绝对网址。 postPage是我定义的模板。但它会自动获得助手路径?我不明白{{templatePath}}是如何返回的。帮助程序{{templatePath}}如何工作?

回答

0

在Handlebars.js以这种方式在JavaScript中定义助手:

Handlebars.registerHelper('helperName', function(argument) { 
    // ... you perform actions here 
    return whatever; // you return something here 
}); 

然后,您使用助手这样:{{helperName something}}something有你想传递给你的帮手的参数或参数。这些参数来自您正在处理的上下文。使用“上下文”,我们指的是您传递给Handlebars以填充模板的JSON数据。

你的帮手需要这些数据并用它构建一些东西。例如,它可以用这种方式将字符串与该参数连接在一起:var whatever = "<p>" + argument.value1 + "</p>",然后它返回一些结果,将其推入页面(return whatever)。

我们正在使用的Handlebars是Handlebars.js为此定义的全局对象。如果要编译模板,也可以使用它们:它们作为此全局对象的方法包含在内。

我希望这一切对你有一些帮助。