登录
|
注册
|
QQ账号登录
|
常见问题
联系我们:
我要上传
首页
浏览
幼儿/小学教育
中学教育
高等教育
研究生考试
外语学习
资格/认证考试
论文
IT计算机
经济/贸易/财会
管理/人力资源
建筑/环境
汽车/机械/制造
研究报告
办公文档
生活休闲
金融/股票/期货
法律/法学
通信/电子
医学/心理学
行业资料
文学/艺术/军事/历史
我的淘豆
我要上传
帮助中心
复制
下载此文档
AngularJS开发指南17:Controller组件.doc
文档分类:
IT计算机
|
页数:约11页
举报非法文档有奖
分享到:
1
/
11
下载此文档
搜索
下载此文档
关闭预览
下载提示
1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
2.下载该文档所得收入归上传者、原创者。
3.下载的文档,不会出现我们的网址水印。
同意并开始全文预览
(约 1-6 秒)
下载文档到电脑,查找使用更方便
下 载
还剩?页未读,
继续阅读
分享到:
1
/
11
下载此文档
文档列表
文档介绍
AngularJS开发指南17:Controller组件.doc
AngularJS开发指南17:Controller组件
在AngularJS中,控制器是一个Javascript函数(类型/类),用来增强除了根作用域意外的作用域实例的。当你或者AngularJS本身通过scope.$new俩创建一个新的子作用域对象时,有一个选项能让你将它当做参数传递给控制器。这能使AngularjS将控制器和这个作用域联系起来,增强作用域的行为。
控制器用于:
设置好作用域对象的初始状态。
给作用域对象增加行为。
给作用于对象设置初始状态
一般来说,当你创建应用时,你需要对它的作用域设置初始状态。
AngularJS将对作用域对象调用控制器的构造函数(从某种意义上来说就像使用的Javascript的apply方法),以此来设置作用域的初始状态。这意味着AngularJS不会创建控制器类型的实例(不会使用new方法来调用控制器构造函数)。控制器总是对某个已存在的作用域对象调用。formatDate
你可以通过创建一个模型属性来设置初始作用域的初始状态。 比如:
function GreetingCtrl($scope) { $ = 'Hola!'; }GreetingCtrl控制器创建了一个模板中可以调用的叫greeting的模型。
给作用域对象增加行为
AngularJS作用域对象的行为是由作用域的方法来表示的。这些方法是可以在模板或者说视图中调用的。这些方法和应用模型交互,并且能改变模型。
如我们在模型那一章所说的,任何对象(或者原生的类型)被赋给作用域后就会变成模型。任何赋给作用域的方法,都能在模板或者说视图中被调用,并且能通过表达式或者ng事件指令调用。(比如,ngClick)
正确地使用控制器
总的来说,一个控制器不应该做太多工作。它应该只包含单个视图的业务逻辑。
保持控制器职责单一的最常见做法是将那些不属于控制器的工作抽离到服务中,然后通过依赖注入在控制器中使用这些服务。这在依赖注入服务的章节中会详细讨论。
不要用控制器干下面的事情:
控制器应该只关心业务逻辑。DOM操作(表现层逻辑)通常会把测试弄得很难。将任何表现层逻辑放到控制器中都会显著地增加对业务逻辑的测试难度。。如果你需要手动操作DOM,将表现层的逻辑抽离到指令中。
对输入格式化 — 你应该用AngularJS的表单控制来实现格式化。.
对输出格式化 — 该用AngularJS的过滤器实现。.
在控制器中运行无状态或者有状态但在控制器中共享的代码 — 该用服务来实现.
实例化组件或者控制其它组件的生命周期(比如创建一个服务的实例).
将控制器和AngularJS的作用域对象联系起来
你可以显示地用scope.$new来将控制器和作用域对象显示地联系起来,或者隐式地通过ngController指令或者$route服务来联系。
控制器构造函数和方法的例子
为了阐述AngularJS的控制器组件的运行原理,让我们来创建一个拥有下面这些组件的小应用:
一个有两个按钮和一条消息的模板
一个叫spice的字符串模型。
一个拥有两个方法的控制器。方法是用来设置spice的值得。
模板中的消息包含了一个对spice模型的绑定,它初始的字符串是“very”。这个spice模型会被设置成 chili 或者 jalapeno,这取决于哪个按钮会被点击。消息会通过data-binding自动更新。
一个 spice 控制器例子
Chili
Jalape?o
The food is {{spice}} spicy!
function SpicyCtrl($scope) {
$ = 'very';
$ = function() {
$ = 'chili';
}
$ = function() {
$ = 'jalape?o';
}
}例子中有下面这些需要注意:
ngController指令是用来(隐式地)为模板创建作用域的。并且使用命令中指定的spicyCtrl控制器来增强这个作用域。
spicyCtrl只是一个纯Javascript函数。使用了驼峰式命名法(可选)命名并以Ctrl或者Controller结尾。
对作用域对象赋予一个新的属性会创建或者更新模型。
控制器方法能够直接通过赋格作用域对象这个方式创建(如例子中
AngularJS开发指南17:Controller组件 来自淘豆网www.taodocs.com转载请标明出处.
猜你喜欢
2024年校医工作个人总结7篇
15页
HY公司研发人员绩效考评指标研究的中期报告
2页
HPC中光互连网络体系结构的研究的中期报告
1页
2024年朱-作文200字6篇
6页
精选履约报告-公司维保服务
22页
2024年有关新员工入职培训心得体会通用范文3篇..
8页
2024年月份小学演讲稿8篇
16页
2024年最新燃气个人工作总结精选范文5篇
17页
2024年最新学校舞蹈社团的工作总结范文3篇
7页
2024年最新关于先进个人申请书简短范文3篇
6页
学校专题活动策划案五篇 学校活动策划方案主题..
11页
2024年最新20年有关51劳动节的精彩句子合集
7页
学校校园广播稿
3页
学校普法工作总结 1
3页
Dendritoma的制备及初步鉴定的任务书
2页
相关文档
更多>>
非法内容举报中心
文档信息
页数
:
11
收藏数
:
0
收藏
顶次数
:
0
顶
上传人
:
好用的文档
文件大小
:
15 KB
时间
:
2021-12-04
相关标签
开发指南
程天佑霸气语录
百合语录
迦尔纳语录
婚礼祝福语录
中考前励志语录
戒指经典语录
生老病死语录
赏花的心情语录
家具经典语录
计算机原理
PHP资料
linux/Unix相关
C/C++资料
Java
windows相关
开发文档
管理信息系统
软件工程
网络信息安全
网络与通信
图形图像
行业软件
人工智能
计算机辅助设计
多媒体
软件测试
计算机硬件与维护
网站策划/UE
网页设计/UI
网吧管理
电子支付
搜索引擎优化
服务器
电子商务
Visual Basic
数据挖掘与模式识别
数据库
Web服务
网络资源
Delphi/Perl
Python
CSS/Script
Flash/Flex
手机开发
UML理论/建模
并行计算/云计算
嵌入式开发
计算机应用/办公自动化
数据结构与算法
SEO
最近更新
焦树德治疗强直性脊柱炎验方
生产与运作管理考试题和答案
再生棉生产工艺
第二类医疗器械组织机构与部门设置说明
网上数码商城毕业论文
肺癌的基因治疗
云南免费公园管理——以昆明市翠湖公园为例..
2024年高二下学期班主任工作总结7篇
肺癌护理业务学习
安全生产事故防范措施日常应急处理手册
谈中职英语的评价方式(全文)
邹城市中医院二级甲等中医医院复审工作实施..
肺炎的讲稿课件
肺淋巴管肌瘤病
肺栓塞与肺癌课件最新版图
椎体压缩性骨折康复护理PPT
青岛版三年级数学上册第三单元 三位数乘一位..
职业中专护理说课ppt
(最新)杨公仆版产业经济学完整版
孕妇静推硫酸镁的护理PPT
安全培训之安全生产基础知识
胰十二指肠护理查房ppt
福安美食推广策划方案设计相关7篇
煤矿新颖活动策划方案模板相关7篇
肠道菌群糖尿病及肥胖防治新靶点
新型冠状病毒感染护理常规ppt
新生儿科护理新进展ppt课件
大班美术课件《制作动物拼图》
大班美术教案《有趣的石头娃娃》
大班美术优质课教案及教学反思《有趣的树叶..
在线
客服
微信
客服
QQ
客服
意见
反馈
手机
查看
返回
顶部