Pengontrol AngularJS


Pengontrol AngularJS mengontrol data aplikasi AngularJS.

Kontroler AngularJS adalah Objek JavaScript biasa .


Pengontrol AngularJS

Aplikasi AngularJS dikendalikan oleh pengontrol.

Direktif ng-controller mendefinisikan pengontrol aplikasi.

Kontroler adalah Obyek JavaScript , dibuat oleh konstruktor objek JavaScript standar .

Contoh AngularJS

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

First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{firstName + " " + lastName}}

</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.firstName = "John";
  $scope.lastName = "Doe";
});
</script>

Aplikasi menjelaskan:

Aplikasi AngularJS didefinisikan oleh  ng-app="myApp" . Aplikasi berjalan di dalam <div>.

Atribut ng-controller="myCtrl" adalah direktif AngularJS. Ini mendefinisikan pengontrol.

Fungsi myCtrl adalah fungsi JavaScript.

AngularJS akan memanggil controller dengan objek $scope .

Di AngularJS, $scope adalah objek aplikasi (pemilik variabel dan fungsi aplikasi).

Pengontrol membuat dua properti (variabel) dalam lingkup ( firstName dan lastName ).

Direktif ng-model mengikat field input ke properti controller (firstName dan lastName).



Metode Pengontrol

Contoh di atas mendemonstrasikan objek controller dengan dua properti: lastName dan firstName.

Pengontrol juga dapat memiliki metode (variabel sebagai fungsi):

Contoh AngularJS

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

First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{fullName()}}

</div>

<script>
var app = angular.module('myApp', []);
app.controller('personCtrl', function($scope) {
  $scope.firstName = "John";
  $scope.lastName = "Doe";
  $scope.fullName = function() {
    return $scope.firstName + " " + $scope.lastName;
  };
});
</script>

Pengontrol Di File Eksternal

Dalam aplikasi yang lebih besar, biasanya menyimpan pengontrol di file eksternal.

Cukup salin kode di antara tag <script> ke dalam file eksternal bernama personController.js :

Contoh AngularJS

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

First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{fullName()}}

</div>

<script src="personController.js"></script>

Contoh lain

Untuk contoh selanjutnya kita akan membuat file controller baru:

angular.module('myApp', []).controller('namesCtrl', function($scope) {
  $scope.names = [
    {name:'Jani',country:'Norway'},
    {name:'Hege',country:'Sweden'},
    {name:'Kai',country:'Denmark'}
  ];
});

Simpan file sebagai namesController.js :

Dan kemudian gunakan file pengontrol dalam aplikasi:

Contoh AngularJS

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

<ul>
  <li ng-repeat="x in names">
    {{ x.name + ', ' + x.country }}
  </li>
</ul>

</div>

<script src="namesController.js"></script>