我无法赶上普通车把和修改过的Ember Handlebars帮手所做的所有改变。如果我没记错的话,您可以使用以下方法注册帮助
这对我来说太过分了。你能解释一下这有什么不同吗?
答案 0 :(得分:12)
Ember.Handlebars.registerHelper
是一个基本的帮助器,它不会将参数字符串绑定到属性。例如,考虑使用hello
创建的registerHelper
帮助程序,它只返回问候语消息。
Ember.Handlebars.registerHelper('hello', function(name) {
return 'Hello ' + name;
});
在模板中使用时,
{{hello name}}
您将获得显示文字Hello name
。 <{1}}属性的值是不查找。
要将name
属性的值放入所需的帮助程序name
。顾名思义,它会在registerBoundHelper
属性之间创建绑定。任何时候name
更改辅助器再次被调用以重新渲染。实现类似,
name
Ember.Handlebars.registerBoundHelper('hello', function(name) {
return 'Hello ' + name;
});
与Ember.Handlebars.helper
相同,并附加一些检查以自动检测您想要的帮助程序类型。
Ember中没有使用香草registerBoundHelper
。它会为不使用Ember的项目创建类似的帮助器。
答案 1 :(得分:1)
Ember.Handlebars.helper
应该用于注册助手,其他方法只是它的有限版本。 Ember.Handlebars.helper
使用绑定呈现HTML,使视图和模型保持同步。函数,视图和组件可以作为帮助程序定义提供。
Ember.Handlebars.registerBoundHelper
与Ember.Handlebars.helper
类似,但您只能提供一个函数作为帮助程序定义。
Ember.Handlebars.registerHelper
之前已委托给Handlebars.registerHelper
。 Ember.Handlebars.registerHelper
不再存在,但Handlebars.registerHelper
仍在Ember
内部使用,以便在设置绑定后创建所有帮助程序。