国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

AngularJS基礎學習筆記之控制器

2024-05-06 16:19:47
字體:
來源:轉載
供稿:網友
在AngularJS中,控制器是一個Javascript函數(類型/類),用來增強除了根作用域意外的作用域實例的。當你或者AngularJS本身通過<code>scope.$new</code>倆創建一個新的子作用域對象時,有一個選項能讓你將它當做參數傳遞給控制器。
 
 

AngularJS控制器用來控制AngularJS applications的數據。

  AngularJS控制器就是普通的JavaScript對象。

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

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

  一個控制器就是一個JavaScript對象,它可以通過標準的JavaScript對象構造函數來創建。

  1. <div ng-app="myApp" ng-controller="myCtrl"
  2.  
  3. First Name: <input type="text" ng-model="firstName"><br> 
  4. Last Name: <input type="text" ng-model="lastName"><br> 
  5. <br> 
  6. Full Name: {{firstName + " " + lastName}} 
  7.  
  8. </div> 
  9.  
  10. <script> 
  11. var app = angular.module('myApp', []); 
  12. app.controller('myCtrl'function($scope) { 
  13.   $scope.firstName = "John"
  14.   $scope.lastName = "Doe"
  15. }); 
  16. </script> 

代碼解釋:

  AngularJS application通過ng-app="myApp"來定義。該application的有效作用域處于ng-app所在的<div>中。

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

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

  AngularJS使用$scope對象來調用控制器。

  在AngularJS中,$scope是一個application對象(即application變量和函數的所有者)。

  控制器包含兩個屬性(或者叫變量):firstName和lastName。它們被附加到$scope對象上。

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

控制器的方法
  上面的例子展示了控制器對象包含兩個屬性:lastName和firstName。

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

  1. <div ng-app="myApp" ng-controller="personCtrl"
  2.  
  3. First Name: <input type="text" ng-model="firstName"><br> 
  4. Last Name: <input type="text" ng-model="lastName"><br> 
  5. <br> 
  6. Full Name: {{fullName()}} 
  7.  
  8. </div> 
  9.  
  10. <script> 
  11. var app = angular.module('myApp', []); 
  12. app.controller('personCtrl'function($scope) { 
  13.   $scope.firstName = "John"
  14.   $scope.lastName = "Doe"
  15.   $scope.fullName = function() { 
  16.     return $scope.firstName + " " + $scope.lastName; 
  17.   } 
  18. }); 
  19. </script> 

將控制器放在外部文件中
  在大型應用中,常常會將控制器代碼寫在外部文件中。

  將<script>標簽中的代碼拷貝到personController.js外部文件中:

  1. <div ng-app="myApp" ng-controller="personCtrl"
  2.  
  3. First Name: <input type="text" ng-model="firstName"><br> 
  4. Last Name: <input type="text" ng-model="lastName"><br> 
  5. <br> 
  6. Full Name: {{firstName + " " + lastName}} 
  7.  
  8. </div> 
  9.  
  10. <script src="personController.js"></script> 

另一個例子
  創建一個新的控制器文件并命名為namesController.js:

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

  然后再application中使用這個控制器文件:



  1. <div ng-app="myApp" ng-controller="namesCtrl"
  2.  
  3. <ul> 
  4.  <li ng-repeat="x in names"
  5.   {{ x.name + ', ' + x.country }} 
  6.  </li> 
  7. </ul> 
  8.  
  9. </div> 
  10.  
  11. <script src="namesController.js"></script> 
   

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 会同县| 卢龙县| 安岳县| 阜城县| 东阿县| 雷州市| 盐源县| 资阳市| 荆州市| 仲巴县| 东乌珠穆沁旗| 吉木萨尔县| 孟津县| 大兴区| 赤水市| 广宗县| 黎城县| 靖安县| 望城县| 山阳县| 延庆县| 瑞丽市| 武胜县| 英山县| 轮台县| 阿拉善左旗| 台湾省| 礼泉县| 来凤县| 张北县| 通道| 四子王旗| 阿图什市| 措勤县| 社会| 嘉善县| 铁力市| 平遥县| 临湘市| 清流县| 桃园市|