2013-09-21 3 views
-1

Я следующий шаблон повторения в течение моего приложения, и мне было интересно, если есть способ, чтобы очистить это:Ember: Фразеологизм для ArrayController Переберите одноименном ObjectController

массив Контроллер:

App.ThingsController = Ember.ArrayController.extend() 

Шаблон для массива контроллера (с использованием эмблема) контроллера

each thing in controller 
    = render 'thing' thing 

объекта:

App.ThingController = Ember.ObjectController.extend() 

Мне не нравится иметь этот шаблон посредника, который имеет только эти две строки.

Я посмотрел в itemController как на потенциальное решение, но это, похоже, не делает того, что я хочу.

ответ

0

Вместо render Внутри цикла each вы можете просто включить код, а затем использовать itemController. Это объединит ваши шаблоны в один, но все же позволит вам использовать ObjectController.

{{each thing in controller itemController="thing"}} 
    {{thing.name}}.id = {{thing.id}} 
{{/each}} 
+0

В вашем примере пример шаблона руля представляет шаблон «вещей»? – vramon

+0

Да, это будет шаблон 'things'. –

+0

Я вижу. Это работает в одном смысле, потому что тогда у меня будет один шаблон вместо двух, но я чувствую, что код будет не в том месте. Я бы помещал код, который принадлежит шаблону 'thing' в' вещи', поэтому это не то решение, на которое я надеялся. – vramon

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