Краткое описание

Содержание данной страницы:

  • Генерация компонентов из ember-cli, структура каталогов (components, templates/components) и файлов, их особенности (то что компоненты обязательно именуются как минимум двумя словами через дефис, …)
  • Основные хуки (init, this.$() + didInsertElement для возможной инициализиции плагинов на элементах DOM-a, willDestroyElement для деинициализации, willDestroy)
  • Особенности компонентов с оберткой и без (tagName не пустой, и tagName=’’) и связанная с этим доступность недоступность выбора элементов разметки, внутри компонента через, this.$()
  • Связь кода и шаблона компонента
  • Обработка событий DOM-а и внутренних по отношению к компоненту action-ов в его коде
  • Отправка action-ов наружу через this.sendAction, вызов внутренних action-ов через this.send
  • Описание и обоснование подхода DDAU (Data Down Actions Up): компоненты сами не изменяет передаваемые им данные и настройки, а только лишь отображают и реагируют на изменения в них, при необходимости изменить данные, компоненты только шлют наружу action-ы, которые обрабатываются контроллерами/роутами и при необходимости вносят изменения в данные (компонент = код компонента + шаблон компонента + миксин для контроллера или роута содержащий обработчики action-ов компонента).
  • Изолированное тестирование ember-компонентов при помощи интеграционных тестов, позволяющих в рамках теста рендерить компоненты и вообще любую разметку, а затем взаимодействовать с ней.
  • Особенности тестирования ui с асинхронно выполняющейся анимацией, и прочих асинхронностей (Ember.run, assert.async)

Перейти