Я пытаюсь реализовать простой условный оператор в Handlebars, который изменяется на основе атрибута в моем контроллере.Ember.js + Handlebars custom helper
Мне удалось придумать;
Handlebars.registerHelper("businessVerificationState", function(state, block) {
var value = Ember.getPath(this, "state");
if (value == state) {
return block(this);
}
});
App.businessController.business относится к модели объекта я создал и «состояние» является атрибутом. Ниже приведен шаблон.
<script type="text/x-handlebars">
{{#with App.businessController.business}}
{{#exampleState "test1"}}
<p>Test 1</p>
{{/exampleState}}
{{#exampleState "test2"}}
<p>Test 2</p>
{{/exampleState}}
</script>
Это все работает набухает. За исключением случаев, когда меняются мои атрибуты модели. С консоли в webkit .. если я напечатаю ..
business.set ("state", "test2"); например, ничего не меняется.
Если я использую другие стандартные инструкции руля, такие как IF или UNLESS - содержимое изменяется в зависимости от того, когда я обновляю атрибуты модели.
Очевидно, что я делаю что-то невероятно неправильно и буду признателен за любую помощь.
Я считаю, что вы должны использовать 'Ember.Handlebars. registerHelper'. –