Краткое описание
Содержание данной страницы:
- Генерация компонентов из 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)