tutorial pengembangan web terbaru
 

AngularJS Cakupan


lingkup adalah bagian yang mengikat antara HTML (tampilan) dan JavaScript (controller).

Ruang lingkup adalah obyek dengan sifat dan metode yang tersedia.

Ruang lingkup ini tersedia untuk kedua pandangan dan controller.


Cara Menggunakan Lingkup?

Ketika Anda membuat controller di AngularJS, Anda melewati $scope objek sebagai argumen:

Contoh

Sifat dibuat di controller, dapat disebut dalam tampilan:

<div ng-app="myApp" ng-controller="myCtrl">

<h1>{{carname}}</h1>

</div>

<script>
var app = angular.module('myApp', []);

app.controller('myCtrl', function($scope) {
    $scope.carname = "Volvo";
});
</script>
Cobalah sendiri "

Ketika menambahkan properti ke $scope objek dalam controller, tampilan (HTML) mendapat akses ke properti ini.

Dalam pandangan ini, Anda tidak menggunakan awalan $scope , Anda hanya merujuk ke PROPERTYNAME sebuah, seperti {{carname}} .


Memahami Lingkup

Jika kita mempertimbangkan aplikasi AngularJS terdiri dari:

  • Lihat, yang merupakan HTML.
  • Model, yang merupakan data yang tersedia untuk tampilan saat ini.
  • Controller, yang merupakan fungsi JavaScript yang membuat / perubahan / menghapus / mengontrol data.

Maka lingkup adalah Model.

Ruang lingkup adalah objek JavaScript dengan properti dan metode, yang tersedia untuk kedua pandangan dan controller.

Contoh

Jika Anda membuat perubahan dalam tampilan, model dan controller akan diperbarui:

<div ng-app="myApp" ng-controller="myCtrl">

<input ng-model="name">

<h1>My name is {{name}}</h1>

</div>

<script>
var app = angular.module('myApp', []);

app.controller('myCtrl', function($scope) {
    $scope.name = "John Doe";
});
</script>
Cobalah sendiri "

Tahu Lingkup Anda

Hal ini penting untuk mengetahui ruang lingkup Anda berurusan dengan, setiap saat.

Dalam dua contoh di atas hanya ada satu ruang lingkup, sehingga mengetahui ruang lingkup Anda tidak menjadi masalah, tetapi untuk aplikasi yang lebih besar bisa ada bagian dalam DOM HTML yang hanya dapat mengakses lingkup tertentu.

Contoh

Ketika berhadapan dengan ng-repeat direktif, setiap pengulangan memiliki akses ke objek pengulangan saat ini:

<div ng-app="myApp" ng-controller="myCtrl">

<ul>
    <li ng-repeat="x in names">{{x}}</li>
</ul>

</div>

<script>
var app = angular.module('myApp', []);

app.controller('myCtrl', function($scope) {
    $scope.names = ["Emil", "Tobias", "Linus"];
});
</script>
Cobalah sendiri "

Setiap <li> elemen memiliki akses ke objek pengulangan saat ini, dalam hal ini string, yang disebut dengan menggunakan x .


akar Cakupan

Semua aplikasi memiliki $rootScope yang merupakan ruang lingkup dibuat pada elemen HTML yang berisi ng-app direktif.

rootScope tersedia di seluruh aplikasi.

Jika variabel memiliki nama yang sama di kedua lingkup saat ini dan di rootScope, aplikasi menggunakan satu di lingkup saat ini.

Contoh

Sebuah variabel bernama "warna" ada di lingkup kedua controller dan di rootScope yang:

<body ng-app="myApp">

<p>The rootScope's favorite color:</p>
<h1>{{color}}</h1>

<div ng-controller="myCtrl">
    <p>The scope of the controller's favorite color:</p>
    <h1>{{color}}</h1>
</div>

<p>The rootScope's favorite color is still:</p>
<h1>{{color}}</h1>

<script>
var app = angular.module('myApp', []);
app.run(function($rootScope) {
    $rootScope.color = 'blue';
});
app.controller('myCtrl', function($scope) {
    $scope.color = "red";
});
</script>
</body>
Cobalah sendiri "