Angularjs 控制器controller的作用
我们在view中给模型的一个参数name赋值 “hello world” .
这是一种简单的赋值,我们可以在视图中通过 ng 指令(以ng-开头的指令)实现了简单的赋值,如果遇到复杂的逻辑运算操作,那么视图里是无法执行复杂操作的,这时控制器就派上用场了.
简单讲:控制器 controller 就是实现视图和模型之间数据传递,方法调用,改变模型等一系列操作,他是javascript函数(也可以看做类或者类型)
控制器有几点需要注意的地方:
1.一个控制器最好只包含一个视图的业务逻辑.以后你会看到我们的目录结构Client/scripts/controllers 包含很多个控制器脚本.
2.控制器之间不存在相互调用,共用的工具方法和不属于控制器的业务单独抽出来做成一个服务,然后在控制器中注入服务来调用.比如请求服务器拿到数据就应该单独做成服务,毕竟有些数据是很多个控制器共用的.
3.控制器不应该操作DOM.
4.控制器里不应该做数据过滤,因为angular.js 有强大的filter 过滤器.
下面我们在 index.html 页面中写一个最简单的控制器 myCtrl
脚本如下:
<script type="text/javascript">
var myApp = angular.module("YIJIEBUYI" , []).
controller( "myCtrl", function ($scope) {
$scope.name = '一介布衣';
});
</script>
首先看到这个控制器监视的应用名 "YIJIEBUYI" ,ng-app可以看做angular.js的一个应用入口.
通过这个入口我们创建了简单的控制器 "myCtrl" 这时你看到了一个对象 $scope ,这个东西我们会单独开博来说明,这里你就把它当做一个上下文环境.
它联通了模型和视图,非常重要.我们给$scope对象属性 name 赋值 "一介布衣",那么在视图中如何访问呢?
<div ng-controller="myCtrl">
显示文字,<span ng-bind="name" ></span>
</div>
我们在视图中有了angular.js 指令标识 ng-controller ,它指定了控制器名称 "myCtrl" ,而此控制器我们已经在当前页面上实现了脚本.
span标签通过 ng-bind 绑定了模型中的 name 属性的值.
通过上面的控制器我们可以看到$scope的name属性已经赋值 "一介布衣",我们运行页面看下效果.

可以看到控制器里给模型name属性的赋值已经在视图中成功显示出来.
Angularjs 控制器controller的作用的更多相关文章
- AngularJS进阶(九)控制器controller之间如何通信
AngularJS控制器controller之间如何通信 注:请点击此处进行充电! angular控制器通信的方式有三种: 1,利用作用域继承的方式.即子控制器继承父控制器中的内容 2,基于事件的方式 ...
- angularjs控制器之间通信,事件通知服务
service要记住一点就是所有的services都是singleton(单例)的,service更多的是做一些业务逻辑,数据交互.当然,利用单例这特点也可以用来做不同控制器间的通信.控制器间的通信也 ...
- AngularJS 中 Controller 之间的通信
用 Angular 进行开发,基本上都会遇到 Controller 之间通信的问题,本文对此进行一个总结. 在 Angular 中,Controller 之间通信的方式主要有三种: 1)作用域继承.利 ...
- ASP.NET MVC5基础-控制器(Controller)详解
在上文ASP.NET MVC5基础 – MVC文件架构中我们简单了解了下控制器Controller的作用,本文我将详细介绍控制器Controller的使用方法. Controller的运行过程 上文我 ...
- angularjs探秘<三> 控制器controller及angular项目结构
先来看一个例子 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=&quo ...
- 【angularJS】Controller控制器
1. 定义 控制器(Controller)在AngularJS中作用是增强视图(View),AngularJS控制器是一个构造方法,用来向视图(View)中添加额外功能. ng-controller指 ...
- Angularjs在控制器(controller.js)的js代码中使用过滤器($filter)格式化日期/时间实例
Angularjs内置的过滤器(filter)为我们的数据信息格式化提供了比较强大的功能,比如:格式化时间,日期.格式化数字精度.语言本地化.格式化货币等等.但这些过滤器一般都是在VIEW中使用的,比 ...
- AngularJS 1.x系列:AngularJS控制器(3)
1. 控制器(Controller)定义 控制器(Controller)在AngularJS中作用是增强视图(View),AngularJS控制器是一个构造方法,用来向视图(View)中添加额外功能. ...
- AngularJS-01.AngularJS,Module,Controller,scope
1.AngularJS 一个构建动态Web应用程序的结构化框架. 基于JavaScript的MVC框架.( MVC ---- Model(模型).View(视图).Controller(控制器) ) ...
随机推荐
- ElasticSearch关闭重启命令
很多人学习elasticSearch都是自学,想百度一下如何重启es也是没有答案,我硬着头皮,算是琢磨出来了,借此写博,希望能帮助您. 1.如何关闭ES,elasticsearch关闭办法 1.使用h ...
- Jacoco覆盖率工具使用调研
JaCoCo Java Code Coverage Library Jacoco是一个开源的覆盖率工具.Jacoco可以嵌入到Ant .Maven中,并提供了EclEmma Eclipse插件,也可以 ...
- JVM总结-内存监视手段及各区域内存溢出解决
转载:https://blog.csdn.net/xuqu_volition/article/details/53786096 引言 本文仅关注一些常见的虚拟机内存监视手段,以及JVM运行时数据区各个 ...
- C#.NET常见问题(FAQ)-SplitPanel如何设置上下和左右
定位到Orientation属性即可 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http: ...
- ZH奶酪:通过CSS自定义HTML中hr样式-颜色-形状
修改颜色,线条形状,粗细等... CSS代码: .zh_hr{ border:3px solid rgba(255, 255, 255, 0.50); margin-bottom: 2px; marg ...
- Adobe Dynamic Http Streaming的简单配置与实现 (FMS, HLS, HDS)
http://blog.csdn.net/avsuper/article/details/7663879 Adobe的Http Dynamic Streaming是针对苹果的HLS方案提出基于HTTP ...
- linux 文件查找,which,whereis,locate,find
linux 文件查找,which,whereis,locate,find 一:which 主要用于查找可执行命令的所在位置: 如图,查找命令 ls的目录: 二:whereis 主要用于查找命令的帮助文 ...
- Spring boot 与quart集成并在Job中注入服务
1:AutowiringSpringBeanJobFactory.java package com.microwisdom.grgzpt.jobs; import org.quartz.spi.Tri ...
- html5开放资料
http://www.cnblogs.com/tim-li/archive/2012/08/06/2580252.html KineticJS教程(12) 摘要: KineticJS教程(12) 作者 ...
- JPA中的一对多双向关联与级联操作
学习Spring有两周时间了 , 个人觉得服务端主要实现的是数据关系的维护和数据结构的制定 , 以及由业务需求产生的CRUD , 只要保证对前端提供的接口稳定高效响应 , 具体的前端实现完全不关心. ...