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