Difference between Helper, RegisterHelper and RegisterBoundHelper?

As the name implies, I'm looking for a difference in using the above helper creation functions with Ember.js.

  • Helper (from Ember.js API docs):

    helper (name, function, dependKeys)

    Register a related helper or custom view helper.

    Example:

    Ember.Handlebars.helper('capitalize_h', function(value) {
      return value.toUpperCase();
    });
    
  • RegisterHelper (From Handlebars.js):

    Example:

    Handlebars.registerHelper('capitalize_rh', function(value) {
      return value.toUpperCase();
    });
    
  • RegisterBoundHelper (from Ember.js API docs):

    Example:

    Ember.Handlebars.registerBoundHelper('capitalize_rbh', function(value) {
      return value.toUpperCase();
    });
    

Using 3, I found that:

  • Ember helpers (helper and registerBoundHelper) can also work on the model property,

    For instance:

    Assuming the model has a property name with a value of "Vageesh", so the following will provide the same result, that is, "VAGEESH":

    {{ capitalize_h name }} 
    

    and

    {{ capitalzie_rbh name }}
    
  • Handlebars ' , .. "NAME":

    {{ capitalize_rh name }}
    

, ?

, ?

+4
2

Ember.Handlebars.helper Ember.Handlebars.registerBoundHelper registerHelper handlebars EmberJS .

registerBoundHelper .

Bound helpers behave similarly to regular handlebars helpers, with the added ability to re-render when the underlying data changes.

Ember Handlebars Ember.Handlebars( , Handlebars), handlebars registerHelper, :

Ember.Handlebars.helper('myHelperName', function(property, options) {

});

registerHelper, , .

+2

Ember.Handlebars.registerBoundHelper , .

Ember.Handlebars.registerHelper .

Ember.Handlebars.helper Ember.Handlebars.registerBoundHelper, Ember.Handlebars.registerHelper , . , Ember.Handlebars.helper Ember.Handlebars.registerHelper , Ember.Handlebars.registerBoundHelper. ( ), "" , "registerBoundHelper":

Ember.Handlebars.helper('capitalize_h', function(value) {
  return value.toUpperCase();
});

... , ...

Ember.Handlebars.registerBoundHelper('capitalize_h', function(value) {
  return value.toUpperCase();
});  
+4

Source: https://habr.com/ru/post/1538016/


All Articles