Просмотры и компоненты в Ember.js
Я учусь Эмбер.js, и я пытаюсь понять разницу между представлением и компонентом. Я рассматриваю оба способа создания многоразовых компонентов.
с сайта Эмбер на просмотров:
просмотры в Ember.js обычно создаются только по следующим причинам:
- Когда вам нужна сложная обработка пользовательских событий
-Когда вы хотите создать повторно используемых компонент
с сайта Эмбер по компонентам:
компонент-это пользовательский HTML-тег, поведение которого вы реализуете с помощью JavaScript и внешний вид которого вы описываете с помощью шаблонов рулей. Они позволяют создавать многоразовые элементы управления это может упростить шаблоны вашего приложения.
Так в чем же основное различие между представлением и компонентом? И каков был бы общий пример, когда я предпочел бы использовать представление над компонентом и наоборот?
3 ответов:
Эмбер.Посмотреть
An Эмбер.Посмотреть в настоящее время ограничивается тегами, которые создаются для вас W3C. но если вы хотите определить свои собственные теги HTML для конкретных приложений, а затем реализовать их поведение с помощью JavaScript? Вы не можете сделать это на самом деле с Эмбер.Посмотреть.
Эмбер.Компонент
это именно то, что компоненты позволяют сделать. На самом деле, это такая хорошая идея, что W3C в настоящее время работает на Настраиваемые Элементы spec.
реализация компонентов Ember пытается быть как можно ближе к спецификации веб-компонентов. Один раз Настраиваемые Элементы широко доступны в браузерах, вы должны иметь возможность легко переносить свои компоненты Ember на стандарт W3C и использовать их в других фреймворках, которые также приняли новый стандарт.
это так важно что мы тесно сотрудничаем с органами по стандартизации для обеспечения реализации компонентов соответствует дорожной карты веб-платформы.
также важно отметить, что A Эмбер.Компонент на самом деле Эмбер.Посмотреть (подкласс), но это полностью изоляции. Доступ к свойству в его шаблонах перейти к view объект и действия нацелены также на view
ответ прост: использовать компоненты
согласно учебному видео, которое было записано в августе 2013 года, Иегуда Кац и том Дейл (члены основной команды Ember) сказали аудитории не использовать представления, если вы не являетесь разработчиком фреймворка. Они внесли много улучшений в руль и представили компоненты, поэтому просмотры больше не нужны. Представления используются внутренне для питания таких вещей, как {{#if}} и {{outlet}}.
компоненты также близко передразнивают Стандарт веб-компонента, который будет встроен в браузер, поэтому есть много побочных преимуществ, чтобы стать удобными компонентами Ember building.
2014-11-27 обновление
теперь еще более важно использовать компоненты вместо представлений, так как Ember 2.0 будет использовать маршрутизируемые компоненты при вводе маршрута вместо контроллера/представления. Для того, чтобы в будущем ваше приложение, лучше держаться подальше от взглядов.
источники:
- дорога к Эмбер 2.0:https://github.com/emberjs/rfcs/pull/15
- будущ-proofing ваш Уголек 1.X код: https://gist.github.com/samselikoff/1d7300ce59d216fdaf97
- нет никакого представления, только компонент (том Дейл):https://speakerdeck.com/tomdale/ember-2-dot-0-in-practice?slide=27
как сейчас -
v2.xбудучи текущей стабильной версии-представления были полностью устарели. говорят, что представления удаляются из Ember 2.0 API.Итак, используя
{{view}}ключевое слово в Ember 2.0 вызовет утверждение:Ошибка Утверждения: Использование
{{view}}или любой путь на его основе был удален в Ember 2.0Если вам нужно использовать представления в Ember 2.0, вы можете использовать ember-legacy-views аддон, который будет совместим с Ember до версии 2.4.
Итак, подводя итог - компоненты являются настоящим (удаляются представления) и будущим-они также заменят контроллеры. Смотрите маршрутизируемые компоненты RFC.
Comments