El alcance en AngularJS es la parte vinculante de la vista HTML y el controlador de JavaScript. Cuando agrega propiedades al objeto de alcance en el controlador de JavaScript, solo entonces la vista HTML obtiene acceso a esas propiedades. Hay dos tipos de Scope en AngularJS.
- $alcance
- $rootScope
Alcance: hay algunas características específicas en Alcance que se enumeran a continuación
- La vista HTML
- Los datos que están disponibles para la vista actual conocida como Modelo
- La función de JavaScript que crea/cambia/elimina/controla los datos conocida como Controlador.
Sintaxis:
$scope
Ejemplo 1: Este ejemplo ilustrará el concepto de alcance más claramente. Este ejemplo contiene un solo alcance.
html
<!DOCTYPE html> <html> <head> <title> AngularJS | Scope </title> <script src= "https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"> </script> </head> <body> <div ng-app="gfg" ng-controller="control" align="center"> <h1 style="color:green;">{{organization}}</h1> <p>A Computer Science Portal</p> </div> <script> var geeks = angular.module('gfg', []); geeks.controller('control', function($scope) { $scope.organization = "GeeksforGeeks"; }); </script> </body> </html>
Producción:
Ejemplo 2: En el ejemplo anterior, solo hay un alcance; en el ejemplo siguiente, verá más de un alcance.
html
<!DOCTYPE html> <html> <head> <title> AngularJS | Scope </title> <script src= "https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"> </script> </head> <body> <div ng-app="gfg" ng-controller="control"> <ul> <li ng-repeat="x in names">{{x}}</li> </ul> </div> <script> var geeks = angular.module('gfg', []); geeks.controller('control', function($scope) { $scope.names = ["Python", "Machine Learning", "Artificial Intelligence"]; }); </script> </body> </html>
Producción:
rootScope: si sus variables contienen el mismo nombre tanto en el rootscope como en el alcance actual, entonces el controlador o la aplicación usarán el alcance actual.
Sintaxis:
$rootScope
Ejemplo 3: Este ejemplo le mostrará lo que sucederá si el nombre de la variable es el mismo en el ámbito del controlador y en el ámbito raíz.
html
<!DOCTYPE html> <html> <head> <title> AngularJS | Scope </title> <script src= "https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"> </script> </head> <body ng-app="gfg"> <h1>GeeksforGeeks</h1> <p>Jack and Jones</p> <h3>{{relation}}</h3> <div ng-controller="control"> <p>Akbar and Antony </p> <h3>{{relation}}</h3> </div> <p>Jay and Viru</p> <h3>{{relation}}</h3> <script> var geeks = angular.module('gfg', []); geeks.run(function($rootScope) { $rootScope.relation = 'friend'; }); geeks.controller('control', function($scope) { $scope.relation = "brothers"; }); </script> </body> </html>
Producción:
Publicación traducida automáticamente
Artículo escrito por skyridetim y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA