Kawasan AngularJS
- Hal sebelumnya Kawalan AngularJS
- Hal berikutnya Penapis AngularJS
作用域(scope)是 HTML(视图)和 JavaScript(控制器)之间的绑定部分。
作用域是具有可用属性和方法的对象。
作用域对视图和控制器都是可用的。
如何使用作用域?
当你在 AngularJS 中创建控制器时,你将 $scope
对象作为参数传递:
Contoh
属性在控制器中创建后,可以在视图中引用:
<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>
Ketika menambah $scope
Menambah properti objek, tampilan (HTML) dapat mengakses properti ini.
Pada tampilan, Anda tidak menggunakan $scope
Awalan, Anda hanya perlu mengambil nama properti, seperti {{carname}}
。
Memahami domain
Jika kita lihat aplikasi AngularJS terdiri dari beberapa bagian berikut:
- Tampilan, yaitu HTML.
- Model, yaitu data yang tersedia bagi tampilan saat ini.
- Pengawal, yaitu fungsi JavaScript, untuk membuat/mengubah/menghapus/mengawasi data.
Maka domain adalah model.
Domain adalah objek JavaScript yang memiliki properti dan metode, properti dan metode ini tersedia bagi tampilan dan pengawal.
Contoh
Jika ada perubahan di tampilan, model dan pengawal akan diupdate:
<div ng-app="myApp" ng-controller="myCtrl"> <input ng-model="name"> <h1>Nama saya adalah {{name}}</h1> </div> <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.name = "Bill Gates"; }); </script>
Mengerti domain Anda
Mengerti domain yang Anda tangani kapan saja penting.
Dalam contoh di atas, hanya ada satu domain, jadi mengerti domain Anda bukan masalah, tetapi untuk aplikasi yang lebih besar, beberapa bagian DOM HTML hanya dapat diakses oleh beberapa domain.
Contoh
Saat menangani arahan ng-repeat, setiap pengulangan dapat mengakses 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>
Tiap <li>
Elemen dapat mengakses objek pengulangan saat ini, dalam contoh ini adalah string, melalui x
untuk dihubungi.
domain root
Setiap aplikasi memiliki $rootScope
,yang terdapat di dalam ng-app
Domain yang dibuat di atas elemen HTML untuk arahan.
rootScope dapat diakses seluruh aplikasi.
Jika sebuah variabel memiliki nama yang sama di domain saat ini dan di domain root (rootScope), aplikasi akan menggunakan variabel di domain saat ini.
Contoh
Dalam domain pengawal dan rootScope ada variabel yang bernama "color":
<body ng-app="myApp"> <p>Berwarna pilihan rootScope:</p> <h1>{{color}}</h1> <div ng-controller="myCtrl"> <p>Skop warna pilihan pengawal:</p> <h1>{{color}}</h1> </div> <p>Warna pilihan rootScope masih:</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>
- Hal sebelumnya Kawalan AngularJS
- Hal berikutnya Penapis AngularJS