PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > AngularJS教程 > 正文

    AngularJS 控制器

    作者:admin来源:网络浏览:时间:2020-09-30 00:07:50我要评论
    导读:AngularJS控制器AngularJS 控制器控制AngularJS 应用程序的数据。AngularJS 控制器是常规的JavaScript 对象。AngularJS 控制器Angular...

    AngularJS 控制器


     AngularJS 控制器 控制 AngularJS 应用程序的数据。

     AngularJS 控制器是常规的 JavaScript 对象


    AngularJS 控制器

    AngularJS 应用程序被控制器控制。

    ng-controller 指令定义了应用程序控制器。

    控制器是 JavaScript 对象,由标准的 JavaScript 对象的构造函数 创建。
     

    1. <div ng-app="myApp" ng-controller="myCtrl"
    2.  
    3. 名: <input type="text" ng-model="firstName"><br> 
    4. 姓: <input type="text" ng-model="lastName"><br> 
    5. <br> 
    6. 姓名: {{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 应用程序由 ng-app 定义。应用程序在 <div> 内运行。

    ng-controller="myCtrl" 属性是一个 AngularJS 指令。用于定义一个控制器。

    myCtrl 函数是一个 JavaScript 函数。

    AngularJS 使用$scope 对象来调用控制器。

    在 AngularJS 中, $scope 是一个应用象(属于应用变量和函数)。

    控制器的 $scope (相当于作用域、控制范围)用来保存AngularJS Model(模型)的对象。

    控制器在作用域中创建了两个属性 (firstName 和 lastName)。

    ng-model 指令绑定输入域到控制器的属性(firstName 和 lastName)。

    控制器方法

    上面的实例演示了一个带有 lastName 和 firstName 这两个属性的控制器对象。

    控制器也可以有方法(变量和函数):
     

    1. <div ng-app="myApp" ng-controller="personCtrl"
    2.  
    3. 名: <input type="text" ng-model="firstName"><br> 
    4. 姓: <input type="text" ng-model="lastName"><br> 
    5. <br> 
    6. 姓名: {{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> 

    其他实例

    以下实例创建一个新的控制器文件:
     

    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. }); 

    保存文件为  namesController.js:

    然后,在应用中使用控制器文件:
     

    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> 

     

    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-152-3420-1.html
    相关热词搜索: