2012-06-01 2 views
5

Когда я пытаюсь передать привязку Ember или вычисляемое свойство к специальному помощнику Handlebars, хелпер получает строку вместо значения. Как получить значение в помощнике?Как сделать помощника Handlebars, который осведомлен о привязках Ember?

Шаблон:

{{my_helper my.binding}} 

Помощник получает "my.binding" вместо того, чтобы соответствующее значение.

ответ

6

Несколько дней назад push on the master решить проблему: использовать Ember.Handlebars.registerBoundHelper.

Ember.Handlebars.registerBoundHelper('myHelper', 
    function(myBinding, options) { 
     return myDealWith(myBinding); 
    } 
); 
+0

Вы не можете делать с блочными объектами. – iConnor

4

Вы должны использовать Ember.getPath, чтобы получить значение в вспомогательном методе.
Посмотреть документы http://emberjs.com/documentation/#toc_writing-custom-helpers

+0

Есть ли причина, по которой я должен использовать 'Ember.getPath (this, property)' over' this.getPath (свойство) '? – hekevintran

+2

Вы хотите использовать 'Ember.getPath', если вы ожидаете, что' this' не будет 'Ember.Object'. – ebryn

+0

... то есть большую часть времени вы можете (и должны) использовать 'this.getPath'. –

Смежные вопросы