¿Qué es $ scope en AngularJS?
$ scope en AngularJS es un objeto integrado que básicamente une el "controlador" y la "vista". Se pueden definir variables miembro en el alcance dentro del controlador a las que luego se puede acceder mediante la vista.
Considere el ejemplo siguiente:
angular.module('app',[]).controller('HelloWorldCntrl'function($scope){$scope.message = "Hello World"});
Explicación del código:
- El nombre del módulo es "aplicación"
- El nombre del controlador es "HelloWorldCntrl"
- El objeto de alcance es el objeto principal que se utiliza para pasar información del controlador a la vista.
- Variable miembro agregada al objeto de alcance
Configurar o agregar comportamiento
Para reaccionar a eventos o ejecutar algún tipo de cálculo / procesamiento en la Vista, debemos proporcionar comportamiento al alcance.
Los comportamientos se agregan a los objetos de alcance para responder a eventos específicos que pueden ser activados por la Vista. Una vez definido el comportamiento en el controlador, la vista puede acceder a él.
Veamos un ejemplo de cómo podemos lograrlo.
Guru99 Guru99 Global Event
{{fullName("Guru","99")}}
Explicación del código:
- Estamos creando un comportamiento llamado "fullName". Este comportamiento es una función que acepta 2 parámetros (nombre, apellido).
- El comportamiento luego devuelve la concatenación de estos 2 parámetros.
- En la vista, estamos llamando al comportamiento y pasando 2 valores de "Guru" y "99" que se pasan como parámetros al comportamiento.
Si el comando se ejecuta con éxito, la siguiente salida se mostrará cuando ejecute su código en el navegador.
Producción:
En el navegador, verá una concatenación de los valores de Guru y 99 que se pasaron al comportamiento en el controlador.
Resumen
- Se pueden agregar varias variables miembro al objeto de alcance que luego se puede hacer referencia en la vista.
- Se puede agregar comportamiento para trabajar con eventos que se generan para acciones realizadas por el usuario.
- El angularjs
$rootScope
es el alcance de toda la aplicación. Una aplicación solo puede tener un $ rootScope y se usa como una variable global. En Angular JS, $ scopes son alcances secundarios y $ rootScope es alcance primario