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

Kurze Zusammenfassung der Unterschiede zwischen $scope und $rootScope in AngularJS

一句话总结:

     $rootScope针对全局的作用域生效

     $scope只针对当前的controller作用域生效

用下面的例子来证明上述的说法:

定义一个模块名为myApp

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

创建oneController和twoController这两个controller

oneController传入$scope和$rootScope

myApp.controller('oneController', ['$scope', '$rootScope', function ($scope, $rootScope) {
 // 局部的变量,只有在oneController中才会显示
 $scope.one_language = 'Python';}}
 // Globale Variablen können aufgerufen werden
 $rootScope.language = 'Go';
});

twoController überträgt nur $scope

myApp.controller('twoController', ['$scope', function ($scope) {
 // Lokale Variablen, die nur im twoController angezeigt werden
 $scope.two_language = 'Java';
});

HTML-Tag-Inhalt

<span ng-app="myApp">
  <style>
    div{margin-top: 15px;Ränder: 2px fest rebekka purpur;Breite: 400px;}
  </style>
  <div>
    <h3>Ich bin die globale Variable language: {{ language}}</h3>
  </div>
  <div ng-controller="oneController">
    <h3>Ich bin die lokale Variable one_language: {{ one_language}}</h3>
  </div>
  <div ng-controller="twoController">
    <h1>twoController</h1>
    <h3>Ich bin die lokale Variable two_language: {{ two_language }}</h3>
    <h3>Ich bin die lokale Variable one_language: {{ one_language}}</h3>
    <h3>Ich bin die globale Variable language: {{ language }}</h3>
  </div>
</span>

Angezeigte Ergebnisse

Zusammenfassung

Dies ist der gesamte Inhalt dieses Artikels. Bitte lesen Sie den obigen Code sorgfältig, da dies Ihnen hilft, zu verstehen. Bei Fragen können Sie Kommentare hinterlassen, danke für die Unterstützung von呐喊教程。

Gefällt mir