我无法 catch 对普通 Handlebars 和改进的Ember Handlebars 助手所做的所有更改。如果我没记错的话,可以使用以下方法注册一个助手
对我来说太过分了。您能脚踏实地解释一下有什么区别吗?
最佳答案
Ember.Handlebars.registerHelper
是不将参数字符串绑定(bind)到属性的基本帮助器。例如,考虑使用hello
创建的registerHelper
助手,它仅返回问候消息。
Ember.Handlebars.registerHelper('hello', function(name) {
return 'Hello ' + name;
});
当您在模板中使用它时,
{{hello name}}
您将获得显示文本,即
Hello name
。 name
属性的值是,而不是。要将
name
属性的值添加到所需的帮助器中,请添加registerBoundHelper
。顾名思义,它在name
属性之间创建了绑定(bind)。每当name
更改时,都会再次调用帮助程序以重新呈现。实现是类似的,Ember.Handlebars.registerBoundHelper('hello', function(name) {
return 'Hello ' + name;
});
Ember.Handlebars.helper
与registerBoundHelper
相同,但需要进行一些其他检查以自动检测所需的帮助程序。Ember内未使用原始的
Handlebars.registerHelper
。它将为不使用Ember的项目创建类似的帮助程序。关于ember.js - Handlebars helper 和 Ember Handlebars helper 有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18004510/