Ember.js: Как я могу отделить свои взгляды от моих контроллеров? - PullRequest
4 голосов
/ 04 марта 2012

Я пытаюсь реструктурировать тесно связанные части приложения ember.js, особенно представления и шаблоны для контроллеров.

Все примеры, которые я видел, связывают представления непосредственно с контроллерами в определении класса представления или путем передачи (глобального) пути контроллера к представлению в самом шаблоне.

Миксин TargetActionSupport (я думаю, что DelegateSupport в sproutcore) кажется хорошим кандидатом, но все же требует, чтобы цель (контроллер) и действие были установлены в самом шаблоне.

В идеале я хотел бы создать свои представления в контроллере (как-то), установить цели и действия, но также установить переменные представления в моих шаблонах (например: статические классы, id), но я Я не уверен, как это сделать, или это правильный подход.

1 Ответ

5 голосов
/ 04 марта 2012

Вы можете программно создавать экземпляры представлений и вставлять их в DOM в любом месте:

var view = Ember.View.create();
view.appendTo('#someElement');

Если вы хотите исключить глобальные пути привязки, вы можете передать ссылку контроллера на представление при создании экземпляра:

var controller = Ember.Object.create({content: {}}),
    view = Ember.View.create({
      controller: controller,
      contentBinding: 'controller.content'
    });

Я бы также предложил заглянуть в Ember StateManager.

...