AngularJS基础学习笔记之控制器  更新时间:2015年05月10日 10:04:19   投稿:hebedich   在AngularJS中,控制器是一个Javascript函数(类型/类),用来增强除了根作用域意外的作用域实例的。当你或者AngularJS本身通过scope.$new俩创建一个新的子作用域对象时,有一个选项能让你将它当做参数传递给控制器。 AngularJS控制器用来控制AngularJS applications的数据。   AngularJS控制器就是普通的JavaScript对象。 AngularJS控制器   AngularJS applications通过控制器进行控制。   ng-controller指令定义了一个application的控制器。   一个控制器就是一个JavaScript对象,它可以通过标准的JavaScript对象构造函数来创建。 First Name: Last Name: Full Name: {{firstName + ” ” + lastName}} 代码解释:   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。   控制器也可以包含方法(将函数赋值给变量): First Name: Last Name: Full Name: {{fullName()}} 将控制器放在外部文件中   在大型应用中,常常会将控制器代码写在外部文件中。   将 另一个例子   创建一个新的控制器文件并命名为namesController.js: angular.module(‘myApp’, []).controller(‘namesCtrl’, function($scope) { $scope.names = [ {name:’Jani’,country:’Norway’}, {name:’Hege’,country:’Sweden’}, {name:’Kai’,country:’Denmark’} ]; });   然后再application中使用这个控制器文件: {{ x.name + ‘, ‘ + x.country }} 以上所述就是本文的全部内容了,希望大家能够喜欢。 您可能感兴趣的文章: Angular2数据绑定详解 AngularJS1.X学习笔记2-数据绑定详解 AngularJS学习笔记(三)数据双向绑定的简单实例 详解AngularJS控制器的使用 AngularJS实现单独作用域内的数据操作 详谈AngularJs 控制器、数据绑定、作用域 AngularJS 控制器 相关文章 Angularjs实现mvvm式的选项卡示例代码 每位Web开发者应该都知道,选项卡是现代web网页中最常用的效果之一,所以本文重点是用angularjs这个非常火mvvm框架,实现选项卡效果。有需要的朋友们可以参考借鉴,下面来一起看看吧。 2016-09-09 使用typescript开发angular模块并发布npm包 本篇文章主要介绍了使用typescript开发angular模块并发布npm包,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 2018-04-04 AngularJS实现的鼠标拖动画矩形框示例【可兼容IE8】 这篇文章主要介绍了AngularJS实现的鼠标拖动画矩形框,涉及基于AngularJS的事件响应及页面元素属性动态操作相关实现技巧,需要的朋友可以参考下 2019-05-05 AngularJS入门教程之Select(选择框)详解 本文主要介绍AngularJS Select,这里给大家整理一些资料详细讲解,并提供实例代码,有需要的小伙伴参考下 2016-07-07 Angularjs在初始化未完毕时出现闪烁问题的解决方法分析 这篇文章主要介绍了Angularjs在初始化未完毕时出现闪烁问题的解决方法,结合实例形式分析了3种常用的闪烁问题解决方法,需要的朋友可以参考下 2016-08-08 AngularJS教程之MVC体系结构详解 本文主要讲解AngularJS MVC体系结构,这里提供详细的教程供大家学习参考,有需要的小伙伴可以参考下 2016-08-08 ionic4+angular7+cordova上传图片功能的实例代码 ionic是一个垮平台开发框架,可通过web技术开发出多平台的应用。这篇文章主要介绍了ionic4+angular7+cordova上传图片功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下 2019-06-06 深入理解angular2启动项目步骤 本篇文章主要介绍了深入理解angular2启动步骤 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 2017-07-07 AngularJS中下拉框的高级用法示例 这篇文章主要介绍了AngularJS中下拉框的高级用法,结合实例形式分析了AngularJS下拉框的遍历、选择、绑定、显示等功能实现方法,需要的朋友可以参考下 2017-10-10 AngularJS实现自定义指令与控制器数据交互的方法示例 这篇文章主要介绍了AngularJS实现自定义指令与控制器数据交互的方法,结合具体实例形式分析了AngularJS自定义指令的实现以及与控制器数据交互的操作技巧,需要的朋友可以参考下 2017-06-06 最新评论

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所在的<div>中。

  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外部文件中:

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

以上所述就是本文的全部内容了,希望大家能够喜欢。

您可能感兴趣的文章:

  • Angular2数据绑定详解
  • AngularJS1.X学习笔记2-数据绑定详解
  • AngularJS学习笔记(三)数据双向绑定的简单实例
  • 详解AngularJS控制器的使用
  • AngularJS实现单独作用域内的数据操作
  • 详谈AngularJs 控制器、数据绑定、作用域
张贴在3