English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
بإختصار:
$rootScope يعمل على نطاق النطاق العالمي
$scope يعمل فقط على نطاق controller الحالي
استخدام المثال التالي لاثبات ما تم ذكره أعلاه:
تحديد module باسم myApp
var myApp = angular.module('myApp', []);
إنشاء controlers oneController و twoController
يُدخل oneController $scope و $rootScope
myApp.controller('oneController', ['$scope', '$rootScope', function ($scope, $rootScope) { // الكائنات المحلية، تظهر فقط في oneController $scope.one_language = 'Python'; // الكائنات العالمية، يمكن استدعاؤها $rootScope.language = 'Go'; });
twoController يدخل فقط $scope
myApp.controller('twoController', ['$scope', function ($scope) { // متغير محلي، سيظهر فقط في twoController $scope.two_language = 'Java'; });
محتوى علامات HTML
<span ng-app="myApp"> <style> div{margin-top: 15px;border: 2px solid rebeccapurple;width: 400px;} </style> <div> <h3>أنا متغير عالمي language: {{ language}}</h3> </div> <div ng-controller="oneController"> <h3>أنا متغير محلي one_language: {{ one_language}}</h3> </div> <div ng-controller="twoController"> <h1>twoController</h1> <h3>أنا متغير محلي two_language: {{ two_language }}</h3> <h3>أنا متغير محلي one_language: {{ one_language}}</h3> <h3>أنا متغير عالمي language: {{ language }}</h3> </div> </span>
النتائج المعرضة
الخلاصة
هذا هو نهاية محتوى هذا المقال، من فضلك انظر بعناية إلى الكود أعلاه، هذا سيساعدك على فهمه. إذا كان لديك أي أسئلة، يمكنكم ترك تعليقات للتواصل، شكرًا لدعمكم لتعليمات النقاهة.