AngularJS | Alcance

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *