Использование помощника вида Ember в шаблоне руля с глобальной переменной
Есть ли способ ссылаться на представление Ember в помощнике вида руля, не используя глобальную переменную Ember Application? Я получаю сообщение об ошибке ниже после предварительной компиляции шаблонов моего руля и минимизации кода Ember с помощью Grunt. Это происходит потому, что глобальная переменная Ember сокращена до "a", где шаблон Handlebars все еще ссылается на "App.View".
MyView.hbs:
{{#each controller}}
{{view App.MyChildView}}
{{/each}}
MyChildView.hbs:
<div>Irrelevant HTML</div>
JS:
App = Ember.Application.Create();
App.MyView = Ember.View.extend({...
App.MyChildView = Ember.View.extend({...
Ошибка:
Uncaught Ошибка: утверждение не удалось: невозможно найти представление по пути "MyChildView"
Решение:
Нашел решение этой проблемы с помощью помощника рендера вместо view.
MyView.hbs:
{{#each controller}}
{{render "MyChildView"}}
{{/each}}
1 ответ
Руль {{view}}
Помощник может принять строку вместо константы. Так что постарайтесь:
{{#each controller}}
{{view "App.MyChildView"}}
{{/each}}