首頁 >web前端 >js教程 >AngularJS基礎學習筆記之控制器_AngularJS

AngularJS基礎學習筆記之控制器_AngularJS

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原創
2016-05-16 15:59:531110瀏覽

AngularJS控制器用來控制AngularJS applications的資料。

  AngularJS控制器就是普通的JavaScript物件。

AngularJS控制器
  AngularJS applications透過控制器進行控制。

  ng-controller指令定義了一個application的控制器。

  一個控制器就是一個JavaScript對象,它可以透過標準的JavaScript物件建構函數來建立。

<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>

代碼解釋:

  AngularJS application透過ng-app="myApp"來定義。該application的有效作用域處於ng-app所在的

中。

  ng-controller="myCtrl"屬性即一個AngularJS指令,它定義了一個控制器。

  myCtrl函數是一個普通的JavaScript函數。

  AngularJS使用$scope物件來呼叫控制器。

  在AngularJS中,$scope是一個application物件(即application變數和函數的擁有者)。

  控制器包含兩個屬性(或稱為變數):firstName和lastName。它們被附加到$scope物件上。

  ng-model指令將input標籤的值綁定到控制器的屬性上(firstName和lastName)。

控制器的方法
  上面的範例展示了控制器物件包含兩個屬性:lastName和firstName。

  控制器也可以包含方法(將函數賦值給變數):

<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>

將控制器放在外部檔案
  在大型應用中,常常會將控制器程式碼寫在外部檔案中。

  將<script>標籤中的程式碼拷貝到personController.js外部檔案:<br /> </script>

<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: {{firstName + " " + lastName}}

</div>

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

另一個例子
  建立一個新的控制器檔案並命名為namesController.js:

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

  然後再application中使用這個控制器檔案:

<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>

以上所述就是本文的全部內容了,希望大家能夠喜歡。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn