Привязка данных в приложениях Angular — это автоматическая синхронизация данных между компонентами модели и представления. Способ реализации привязки данных Angular позволяет рассматривать модель как единственный источник истинного значения в приложении. Представление является проекцией модели в любое время. Когда модель изменяется, представление отражает это изменение, и наоборот.
Привязка данных в классических системах шаблонов
Большинство систем шаблонов привязывают данные только в одном направлении: они объединяют компоненты шаблона и модели в представление. После объединения изменения модели или связанных разделов представления НЕ автоматически отражаются в представлении. Хуже того, любые изменения, внесенные пользователем в представление, не отражаются в модели. Это означает, что разработчик должен писать код, постоянно синхронизирующий представление с моделью и модель с представлением.
Привязка данных в шаблонах Angular
Шаблоны Angular работают по-другому. Сначала шаблон (который представляет собой нескомпилированный HTML вместе с любыми дополнительными метками или директивами) компилируется в браузере. Этап компиляции создаёт живое представление. Любые изменения в представлении немедленно отражаются в модели, а любые изменения в модели распространяются на представление. Модель — единственный источник истинного значения состояния приложения, что значительно упрощает модель программирования для разработчика. Можно считать, что представление — это просто мгновенная проекция вашей модели.
Поскольку представление является лишь проекцией модели, контроллер полностью отделён от представления и не осведомлён о нём. Это делает тестирование простым, так как легко протестировать контроллер изолированно без представления и связанной зависимости DOM/браузера.
Связанные темы
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.2.32/docs/guide/databinding