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