Какво представлява $ scope в AngularJS?
$ scope в AngularJS е вграден обект, който основно свързва "контролера" и "изгледа". Може да се дефинират променливи на членове в обхвата в контролера, които след това могат да бъдат достъпни от изгледа.
Помислете за пример по-долу:
angular.module('app',[]).controller('HelloWorldCntrl'function($scope){$scope.message = "Hello World"});
Обяснение на кода:
- Името на модула е "приложение"
- Името на контролера е "HelloWorldCntrl"
- Обектът за обхват е основният обект, който се използва за предаване на информация от контролера към изгледа.
- Член променлива е добавена към обекта на обхвата
Настройване или добавяне на поведение
За да реагираме на събития или да изпълним някакво изчисление / обработка в изгледа, трябва да осигурим поведение на обхвата.
Поведението се добавя към обектите на обхвата, за да отговори на конкретни събития, които могат да бъдат задействани от изгледа. След като поведението е дефинирано в контролера, то може да бъде достъпно от изгледа.
Нека разгледаме пример за това как можем да постигнем това.
Guru99 Guru99 Global Event
{{fullName("Guru","99")}}
Обяснение на кода:
- Ние създаваме поведение, наречено "пълно име". Това поведение е функция, която приема 2 параметъра (firstName, lastname).
- След това поведението връща конкатенацията на тези 2 параметъра.
- В изгледа ние извикваме поведението и предаваме 2 стойности на "Гуру" и "99", което се предава като параметри на поведението.
Ако командата се изпълни успешно, след стартиране на вашия код в браузъра ще се покаже следният изход.
Изход:
В браузъра ще видите конкатенация на двете стойности на Guru & 99, които са предадени на поведението в контролера.
Обобщение
- Различни променливи на членове могат да бъдат добавени към обекта на обхвата, който след това може да бъде препратен в изгледа.
- Поведението може да бъде добавено за работа със събития, които се генерират за действия, извършени от потребителя.
- Angularjs
$rootScope
е обхватът на цялото приложение. Приложението може да има само един $ rootScope и се използва като глобална променлива. В Angular JS $ обхватите са дъщери, а $ rootScope е родителски обхват