Использование помощника вида 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}}
Другие вопросы по тегам