28 Temmuz 2018 Cumartesi

$scope ve $rootScope Nedir, Farkı


$scope Nedir?

 HTML ve JavaScript arasında ki bağlantıyı sağlayan angularJS nesnesidir. MVC'de ki view ile controller arasında ki bağlantıyı sağlayan modelimiz $scope'dur. Hem controller hem de view için kullanılabilir. Tüm $scope'lar $rootScope'un çocuğudur ve sadece bulunduğu controller altında çalışır. 


$rootScope Nedir?

 HTML ng-app içeren kısmın tamamını kapsar. AngularJS'de en baştaki tek $scope'tur. Diğer scopelar bu $rootScope'tan gelir. Aynı değişkenleri farklı controllerda kullanmak için $rootScope kullanılır.

Not: $rootScope projede kontrollünde zorluk yarattığı için kullanımı önerilmiyor.

Örnek:
<body> <div ng-app="burcinApp"> {{yaz}} <div ng-controller="thisController"> {{yaz}} </div></div> <script> var app=angular.module("burcinApp",[]); app.run(function($rootScope){ $rootScope.yaz="rootScope.."; }); app.controller("thisController",thisController); function thisController($scope){ $scope.yaz="scope"; } </script></body>

İlk {{yaz}} ifadesinde controller içerisinde olmadığı için $rootScope etki eder.
İkinci {{yaz}} ifadesinde controller içinde yazıldığı için controller da yazılan $scope
etki eder. Kodu çalıştırmak için tıklayınız.

Hiç yorum yok:

Yorum Gönder