Meteor Template助手和Handlebars助手之间有什么区别?

时间:2012-08-14 01:57:56

标签: javascript meteor handlebars.js

我试图了解使用Meteor Template助手与使用Handlebars Template助手的差异,利弊。

例如:

Template.users_insert.is_state_selected = function(code){};

Handlebars.registerHelper('is_state_selected', function(code){}); 

他们似乎做了同样的事情,除了Handelbars帮助者对我们的覆盖范围比Temple.my_template.helper_function更宽。

我最关心的不仅是差异和利弊,还有可能导致另一个人没有的副作用。

2 个答案:

答案 0 :(得分:3)

这里有一件事是错过的。

使用

注册的把手助手
Handlebars.registerHelper('helper_name', function(){});

适用于整个项目。

在流星中

Template.my_template.helpers({});

Template.my_template.my_helper = function(){};

仅适用于当前模板:例如my_template

答案 1 :(得分:1)

这就是我如何区分这两种机制,不能保证正确性;)

Meteor模板方法用于数据绑定,这就是为什么它们具有本地范围。每个模板都需要应用程序数据的子集,可能以各种形式表示。这个子集是通过模板方法定义的。

Handlebars本身就是模板框架,因此帮助程序控制应用程序如何呈现从Meteor“数据层”接收的数据。您可能需要一些特殊类型的枚举,需要一种方法将数据值“映射”到路径等...但您只使用“数据层”提供的数据而不扩展它。