Handlebars 助手和 Ember Handlebars 助手有什么区别? [英] What's the difference between Handlebars helpers and Ember Handlebars helpers?
问题描述
我无法赶上对普通 Handlebars 和修改后的 Ember Handlebars 助手所做的所有更改.如果我没记错的话,你可以通过以下方法注册一个助手
I can't catch up with all those changes done to plain Handlebars and modified Ember Handlebars helpers. If I remember correctly you can register a helper with the following methods
- Ember.Handlebars.helper
- Ember.Handlebars.registerHelper
- Ember.Handlebars.registerBoundHelper
- Handlebars.registerHelper
这对我来说太过分了.你能具体解释一下有什么区别吗?
That's too much for me. Could you explain it down to earth what's the difference?
推荐答案
Ember.Handlebars.registerHelper
是一个基本的帮助器,它不会将参数字符串绑定到属性.例如,考虑使用 registerHelper
创建的 hello
助手,它只返回一条问候消息.
Ember.Handlebars.registerHelper
is a basic helper that does not bind the argument string to a property. For instance, consider a hello
helper created with registerHelper
that just returns a greeting message.
Ember.Handlebars.registerHelper('hello', function(name) {
return 'Hello ' + name;
});
当你在模板中使用它时,
When you use it in a template,
{{hello name}}
您将获得显示文本为,Hello name
.name
属性的值未查找.
You will get the display text as, Hello name
. The value of the name
property is not looked up.
要将name
属性的值放入您需要的帮助程序中,registerBoundHelper
.顾名思义,它在 name
属性之间创建了一个绑定.每当 name
改变时,助手都会被再次调用以重新渲染.实现类似,
To get the value of the name
property into the helper you need, registerBoundHelper
. As the name suggests it creates a binding between to the name
property. Anytime the name
changes the helper is called again to rerender. The implementation is similar,
Ember.Handlebars.registerBoundHelper('hello', function(name) {
return 'Hello ' + name;
});
Ember.Handlebars.helper
与 registerBoundHelper
相同,但有一些额外的检查来自动检测你想要什么样的助手.
The Ember.Handlebars.helper
is same as registerBoundHelper
with some additional checks to autodetect what kind of helper you want.
原版 Handlebars.registerHelper
未在 Ember 中使用.它将为不使用 Ember 的项目创建类似的帮助程序.
The vanilla Handlebars.registerHelper
isn't used within Ember. It would create similar helpers for projects not using Ember.
这篇关于Handlebars 助手和 Ember Handlebars 助手有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!