English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Resumo das Diferenças entre $scope e $rootScope no AngularJS

Uma frase resumindo:

     $rootScope é eficaz no escopo global

     $scope apenas é eficaz no escopo do controller atual

Usando o exemplo a seguir para provar a afirmação acima:

Define um módulo chamado myApp

var myApp = angular.module('myApp', []);

Cria os controllers oneController e twoController

oneController passa $scope e $rootScope

myApp.controller('oneController', ['$scope', '$rootScope', function ($scope, $rootScope) {
 // Variáveis locais, apenas no oneController serão exibidas
 $scope.one_language = 'Python';}}
 // Variável global, todas podem chamar
 $rootScope.language = 'Go';
});

twoController apenas passa $scope

myApp.controller('twoController', ['$scope', function ($scope) {
 // Variável local, apenas exibida no twoController
 $scope.two_language = 'Java';
});

Conteúdo da etiqueta HTML

<span ng-app="myApp">
  <style>
    div{margin-top: 15px;border: 2px solid rebeccapurple;width: 400px;}
  </style>
  <div>
    <h3>Sou a variável global language: {{ language}}</h3>
  </div>
  <div ng-controller="oneController">
    <h3>Sou a variável local one_language: {{ one_language}}</h3>
  </div>
  <div ng-controller="twoController">
    <h1>twoController</h1>
    <h3>Sou a variável local two_language: {{ two_language }}</h3>
    <h3>Sou a variável local one_language: {{ one_language}}</h3>
    <h3>Sou a variável global language: {{ language }}</h3>
  </div>
</span>

Resultados exibidos

Resumo

Isso é tudo o que há neste artigo, por favor, leia o código acima com atenção, isso ajudará a entender. Se tiverem dúvidas, podem deixar comentários para trocar, obrigado pelo apoio ao tutorial de clamor.

Você Também Pode Gostar