Я ищу некоторые разъяснения относительно взглядов в ember.jsПонимание Ember Views
Coming с рельсов фона, и я пытаюсь игнорировать любые предубеждения. Из того, что я понимаю, в каркасе с насадкой имеется 5 компонентов:
- Маршруты: Здесь мы определяем состояние приложения. Состояние отображается в URL-адресе. Здесь мы также можем определить загрузку данных. Маршрутные классы определены, и при запуске ember создает объекты маршрута, которые сохраняются на протяжении всего приложения.
- Модели: Здесь указаны данные объекта. Может также определять вычисленные свойства. Объект модели создается для каждого объекта json, возвращаемого с сервера.
- Контроллеры: Это обеспечивает взаимодействие между моделями и шаблонами/представлениями. Определяются классы контроллеров, и при запуске ember создает объекты контроллера, которые сохраняются на протяжении всего приложения. Существует только один экземпляр каждого класса контроллера.
- Шаблоны: они описывают сгенерированную разметку.
- Просмотры: Это специальные шаблоны или элементы dom, относящиеся к модели. Они используются для определения событий интерфейса и отправки их на контроллер для обработки. Не уверен, когда их создавать.
В качестве примера позволяет сказать, что у меня есть EventsController, который имеет данные загружены на applicationRoute:
ScheduleApp.EventsController = Ember.ArrayController.extend();
ScheduleApp.ApplicationRoute = Ember.Route.extend({
setupController: function() {
this.controllerFor('events').set('content', ScheduleApp.Event.find());
}
});
Теперь в моем шаблоне вместо итерация каждого и отображения информации, я хочу итерацию по каждому и создайте связанное представление, чтобы я мог добавлять взаимодействия к каждому событию. Я предполагаю, что мне нужно будет создать новое представление для каждого события и отобразить его в моем шаблоне. Однако я не уверен, где я создаю эти представления. Я определяю класс представления, а затем ember будет создавать новый объект представления каждый раз, когда я его вызываю с помощью помощника вида? В конце концов я хотел бы использовать appendTo в представлении для ввода моих событий в разные места в dom. Где это будет определено?
Я пробовал читать руководство по ember.js для просмотра, но он описывает контекст создания единого представления. Я думаю, что хочу сделать много просмотров для каждого события, а затем динамически взаимодействовать с этими объектами.
До сих пор ember был ужасно умным, поэтому я бы предположил, что существует встроенный метод для создания этих представлений. В конце концов, большинство пользовательских интерфейсов полны списков, требующих взаимодействия. Проблема заключается в том, что список, который я пытаюсь сделать, затем хочу распространить на dom в зависимости от его атрибутов.
Отличного ответ. Это означает, что я могу просто вызвать {{просмотреть «ScheduleApp.TripsView»}}, а ember будет загружать все представления. Таким образом, view.content - это каждая Trip, но контент остается массивом, а контроллер остается TripsController. Как можно было бы назвать appendTo для этих сгенерированных представлений? –
Исправьте его {{view ScheduleApp.TripsView}}, снова TripsView - это экземпляр Ember.CollectionView, затем внутри TripsView view.content ссылается на Array, но внутри элемента itemViewClass в представлении TripsView ссылается на одну поездку, см. Обновленный ответ о добавлении я не уверен, спрашивали ли вы об этом, если не можете ли вы опубликовать скрипку о вашем прецеденте? –