`
周大帅
  • 浏览: 27169 次
社区版块
存档分类
最新评论

AngularJs 基础教程 —— 控制器

阅读更多
本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:AngularJs 基础教程 —— 控制器

AngularJS 控制器
AngularJS 控制器 控制 AngularJS 应用程序的数据。
AngularJS 控制器是常规的 JavaScript 对象。
AngularJS 控制器
AngularJS 应用程序被控制器控制。
ng-controller 指令定义了应用程序控制器。
控制器是 JavaScript 对象,由标准的 JavaScript 对象的构造函数 创建。
AngularJS 实例
<div ng-app="myApp" ng-controller="myCtrl">

名: <input type="text" ng-model="firstName"><br>
姓: <input type="text" ng-model="lastName"><br>
<br>
姓名: {{firstName + " " + lastName}}

</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
});
</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 这两个属性的控制器对象。
控制器也可以有方法(变量和函数):
AngularJS 实例
<div ng-app="myApp" ng-controller="personCtrl">

名: <input type="text" ng-model="firstName"><br>
姓: <input type="text" ng-model="lastName"><br>
<br>
姓名: {{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 的外部文件中即可:
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: {{firstName + " " + lastName}}

</div>

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

尝试一下 »
其他实例
以下实例创建一个新的控制器文件:
angular.module('myApp', []).controller('namesCtrl', function($scope) {
    $scope.names = [
        {name:'Jani',country:'Norway'},
        {name:'Hege',country:'Sweden'},
        {name:'Kai',country:'Denmark'}
    ];
});
保存文件为  namesController.js:
然后,在应用中使用控制器文件:
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>

尝试一下 »AngularJs 基础教程 —— 控制器
分享到:
评论

相关推荐

    疯狂前端开发讲义——jQuery+AngularJS+Bootstrap前端开发实战

    《疯狂前端开发讲义——jQuery+AngularJS+Bootstrap前端开发实战》是一本深入浅出的前端开发教程,它涵盖了三个核心的前端技术:jQuery、AngularJS和Bootstrap。这些技术在现代网页开发中扮演着至关重要的角色,使得...

    AngularJs bootstrap搭载前台框架——准备工作

    这个页面虽然简单,但已经包含了AngularJS的基础结构,如控制器、指令和数据绑定。 接下来,你可以继续探索如何在AngularJS应用中集成Bootstrap。Bootstrap的JavaScript插件如模态框、下拉菜单等可以通过AngularJS...

    AngularJS 学习资料

    AngularJS最初版本于2010年发布,随着时间的发展,Google推出了AngularJS的后续版本——Angular 2+,并逐步将其重命名为Angular。尽管如此,AngularJS仍然是许多大型项目的首选框架之一,拥有庞大的社区支持和丰富的...

    dojo-phone-cat:Dojo 版本的 Angularjs PhoneCat 教程

    7. **控制器**:在Dojo中,通常使用`dojo/_base/connect`或`dojo/on`来监听事件并执行相应处理,而不是AngularJS的控制器。 8. **依赖注入**:虽然Dojo没有内置的依赖注入系统,但可以通过第三方库如dojo-di或手动...

    AngularJS学习笔记

    AngularJS的设计理念在于提供一种全新的应用组织与开发方式,特别是通过其核心特性——数据双向绑定(Two-Way Data Binding),实现数据模型与视图之间的自动同步更新。 **数据双向绑定**:AngularJS中的数据双向...

    AngularJS实战 源代码

    《AngularJS实战》一书由陶国荣编著,是中国知名科技出版社——华章科技出版的一本关于AngularJS的实践教程。这本书旨在帮助读者深入理解AngularJS这一强大的前端框架,并通过实际项目案例提升开发技能。随书附带的...

    angular-mail:Thinkful.com AngularJS教程,实现电子邮件系统

    在本教程中,我们将深入探讨如何使用AngularJS构建一个电子邮件系统,这源于Thinkful.com的AngularJS教程——"angular-mail"。AngularJS是Google维护的一个强大的前端JavaScript框架,它简化了网页应用程序的开发,...

    疯狂前端开发讲义:jQuery+AngularJS+Bootstrap前端开发实战

    在AngularJS章节中,你将学习到依赖注入、指令系统、数据绑定、服务以及控制器等核心概念,同时了解如何构建单页应用(SPA)以及进行路由管理。此外,还会探讨Scope、Directives和Filters的高级用法,帮助你提升...

    angularjs_tuto8

    在AngularJS_tuto8教程中,控制器通常通过`ng-controller`指令与HTML元素关联,实现业务逻辑。 3. **数据绑定(Data Binding)**:双向数据绑定是AngularJS的一大特色,它使得模型和视图之间的数据变化能够实时同步...

    simple-email-app:我通过关注Thinkful AngularJS教程学习Angular

    **学习资源——Thinkful AngularJS教程** 描述中提到的"Thinkful AngularJS教程"是一个学习AngularJS的好途径。Thinkful是一个在线学习平台,提供了一系列编程课程,包括AngularJS。通过这样的教程,学习者可以系统...

    AngularJS入门示例之Hello World详解

    了解这些基础知识后,你可以继续探索AngularJS的其他核心特性,如服务(services)、控制器(controllers)、过滤器(filters)、指令(directives)和路由(routing),以及更高级的主题,如依赖注入和模块化开发。...

    angular-phonecat-master

    **AngularJS官方DEMO教程——angular-phonecat-master详解** AngularJS是Google维护的一款强大的前端JavaScript框架,用于构建交互式、动态的Web应用。本教程基于"angular-phonecat-master"项目,这是一个经典的...

    angularjs---shaping-up-with-AngularJS

    5. **模块**(Module):模块是AngularJS应用的基础组织单元,可以包含控制器、服务、指令、过滤器等。它们帮助保持代码的结构清晰,易于维护。 6. **控制器**:控制器是处理用户交互的地方,与$scope对象一起工作...

    Codecademy-AngularJS-Gameboard:AngularJS上的Gameboard应用程序-Codecademy

    《AngularJS上的Gameboard应用程序——Codecademy教程详解》 AngularJS,作为一款强大的前端JavaScript框架,被广泛用于构建交互式、动态的Web应用程序。在Codecademy的课程中,学员们可以学习如何利用AngularJS...

    SPA-Adds-AngularJS:单页应用添加AngularJS编写的维护者

    4. **服务**:AngularJS的服务是可注入的对象,提供各种功能,如 `$http` 用于与服务器通信,`$rootScope` 是所有控制器的父作用域,`$q` 用于异步操作的承诺等。 5. **模块化**:AngularJS应用基于模块构建,可以...

    智能社课件

    4. **服务**:AngularJS的服务是一种单例对象,可以跨控制器共享数据和功能。常见的服务有$http用于异步HTTP请求,$rootScope是所有Scope的父Scope,可用于全局变量的共享。 5. **过滤器**:过滤器用于数据格式化,...

Global site tag (gtag.js) - Google Analytics