正如标题所示,我正在寻找Ember.js上面的帮助程序创建函数的用法的区别。'Helper','RegisterHelper'和'RegisterBoundHelper'之间的区别?
助手(从Ember.js API文档):
帮手(名称,功能,dependentKeys)
注册绑定助手或自定义视图助手。
实施例:
Ember.Handlebars.helper('capitalize_h', function(value) { return value.toUpperCase(); });
RegisterHelper(来自Handlebars.js):
实施例:
Handlebars.registerHelper('capitalize_rh', function(value) { return value.toUpperCase(); });
RegisterBoundHelper(来自Ember.js API文档):
例子:
Ember.Handlebars.registerBoundHelper('capitalize_rbh', function(value) { return value.toUpperCase(); });
从使用3,我发现:
Ember的助手(助手& registerBoundHelper)也可以在模型的工作物业,
例如:
假设模型具有值 'Vageesh' 属性名称,所以下面将提供相同的结果,即, 'VAGEESH':
{{ capitalize_h name }}
而且
{{ capitalzie_rbh name }}
但是,Handlebars'注册助手'将不会以上述方式工作,即结果将为'NAME':
{{ capitalize_rh name }}
那么,有没有在使用的任何其他差异或这是唯一的区别?
另外,在什么情况下建议使用哪种助手创建方法?
好吧,所以直接访问Handlebar帮手是一个'禁忌'? 另外,Ember'helper'和'registerBoundHelper'有什么区别? –
不同之处在于,在数据更改时,“registerBoundHelper”会自动重新呈现您的内容。正如我所说,如果你使用registerHelper,你将需要实现它。检查Ember-Handlebars包以查看一些内置的帮助程序实现。有一些复杂的情况BoundHelper将无法正常工作,所以你需要实现你的帮手registerHelper – ppcano