2014-07-02 12 views
5

Próbuję utworzyć niestandardowego pomocnika do sformatowania wartości, ember-cli dokumenty wskazują, że muszę wyeksportować makeBoundHelper z mojego pliku pomocnika lub registerBoundHelper od wewnątrz app.js podczas importowania poprzednio utworzonej funkcji pomocnika.Różnica między makeBoundHelper a registerBoundHelper w ember-cli

Czy moje zrozumienie tego jest prawidłowe? Lub możesz użyć registerBoundHelper z wewnątrz pliku pomocnika i go poprawnie zarejestrować.

EDIT

związanych kod i błąd informacji poniżej:

https://github.com/ridget/transactions/blob/master/app/helpers/to-currency.js

Wystarczy popychany, że nawet przy użyciu registerBoundHelper wyniki w "Uncaught TypeError: niezdefiniowane nie jest funkcją"

http://iamstef.net/ember-cli/ pod rozwikłaniem pomocników kierownicy wydaje się wskazywać, że mogę używać tylko registerBoundHelper z app.j ale nie jestem pewien, czy tak jest, czy tylko robię to źle.

Odpowiedz

5

Zgodnie docs

makeBoundHelper jest

A (mostly) private helper function to `registerBoundHelper`. Takes the 
    provided Handlebars helper function fn and returns it in wrapped 
    bound helper form. 

    @private 
    @method makeBoundHelper 
    @for Ember.Handlebars 
    @param {Function} function 
    @param {String} dependentKeys* 

Więc w zasadzie oba robi tę samą pracę. Różnica to registerBoundHelper jest dostępna publicznie. Również parametry są różne.

@method registerBoundHelper 
    @for Ember.Handlebars 
    @param {String} name 
    @param {Function} function 
    @param {String} dependentKeys* 

makeBoundHelper nie przyjmuje imienia pomocnika. Być może trzeba zarejestrować pomocnika na własną rękę poprzez wywołanie

Ember.Handlebars.registerHelper(name, boundFn); 

boundFn jest makeBoundHelper zwrotna

+0

dzięki za odpowiedzi, widział to w docs, ale w kontekście ember-cli wydają się nieoczekiwany rezultat , wkrótce zaktualizuje się wraz z błędem i próbką kodu. – ridget

+0

tutaj jest link https://github.com/emberjs/ember.js/blob/071b4bb6aad44100dc74ef8e1c79562e57038e7d/packages/ember-handlebars/lib/ext.js#L355 – thecodejack

+0

ok..letme wiem raz zaktualizowany – thecodejack