Гід по AngularJS ч.2 - $scope

2 хв. читання

Однією з найбільш поширених концепцій в будь-якій мові програмування є область видимості. Наприклад, область видимості блоку або функції. В Angular, область видимості \- це об'єкт, який належить до моделі додатку і який живить два способи прив'язки даних циклів, щоб зберегти стан програми. $scope - дуже розумний об'єкт, який не тільки знаходиться в нашому JavaScript для доступу до даних і значень, він представляє ці значення в DOM, коли Angular рендерить наш додаток.

$scope \- це автоматичний міст між JavaScript і DOM, який тримає в собі синхронізовані дані. Це робить шаблонізацію більш простою. Ми можемо використовувати кастомний синтаксис всередині HTML - Angular буде використовувати пов'язані з $scope значення в цьому випадку. Це створює зв'язок між JavaScript і DOM. $scope-об'єкт дійсно прославив ViewModel.

Ми використовуємо $scope тільки всередині контролерів, де ми прив'язали дані з контролера до подання (View).

Ось приклад, як оголосити дані всередині контролера.

    $scope.someValue = 'Hello';

Щоб викликати значення в DOM, нам необхідно підключити контролер до HTML і сказати Angular, яке значення приєднати.

    <div>
      {{ someValue }}
    </div>

Те, що ми бачимо вище - це концепт області видимості Angular, який дотримується деяких правил JavaScript лексичної області видимості. Поза елементом, на який націлений контролер, дані знаходяться поза областю видимості, так само, як змінна знаходиться поза областю видимості, якщо вона оголошена поза областю використання.

Ми можемо прив'язати будь-яке значення до $scope, яке існує як тип в JavaScript. Саме так ми передаємо дані зі служби, яка звертається до сервера і надсилаємо їх до нашого подання, презентаційного шару.

Чим більше контролерів і даних прив'язок ми створюємо, тим більше областей маємо.

$rootScope

$RootScope \- це самий верхній рівень $scope-об'єкта, від якого якого створюються всі інші об'єкти області видимості. Після того, як Angular починає рендер додатка, фреймворк створює $rootScope-об'єкт, і всі подальші прив'язки і логіка вашого додатка додають нові $scope-об'єкти, які є дітьми $rootScope.

Як правило, ми не чіпаємо $rootScope, але ми можемо користуватись цим рівнем для комунікації між областями даних.

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 5.6K
Приєднався: 8 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація