大家好,我是IT修真院深圳分院第02期学员,一枚正直善良的web程序员。
今天给大家分享一下,修真院官网js任务5,深度思考中的知识点——异步编程有哪几种方法来实现?
1.背景介绍
在学习angular的过程中,不同于javascript,遇到了许多新的概念,比如指令(directive)、服务(service)、控制器(controller)、模型(model)等。还接触到了MVC这种将数据管理、业务逻辑控制和数据展示分离开,进而使程序的逻辑性和可维护性更强的思想。接下来,我们会分享、讨论一下控制器的用法。
2.知识剖析
2.1什么是控制器?
Angular中的控制器,是一个常规的JavaScript对象,用于控制 AngularJS 应用程序的数据。由标准的 JavaScript 对象的构造函数创建。通常它是通过controller()方法进行声明,该方法接受两个参数,第一个为控制器名称,第二个是个匿名方法,即控制器的构造方法(函数)。
例如,它可以这样表达:
2.2 控制器的作用域范围和继承
在html中使用ng-controller指令实例化控制器时,会产生一个新的作用域对象。在同一个页面的ng-app作用域下可以通过ng-controller实例化多个控制器对象。但是,每个控制器对应的作用域对象只能与ng-controller指令所在标签的开始与结束标签之间的DOM元素上建立数据绑定。
2.3 控制器的作用
控制器的作用主要有两个:第一个,scope作用域对象初始化 ;第二个,给scope作用域对象通过一些方法或者函数增加行为 。
3.常见问题
如何在多个controller中进行信息的沟通?
4.解决方案
方法一:利用作用域继承的原理,子控制器访问父级控制器中的内容。
方法二:异步回调响应式通信—事件机制(或消息机制)。
方法三:使用service服务进行数据传输。
5.编码实战
参见demo1-3
6.扩展思考
在多个controller中进行信息的沟通还有哪些?
ngularJs项目实战: 不同controller作用域之间通信的方式
7.参考文献
参考一:AngularJs入门与进阶
参考二:Angularjs Controller 间通信机制
参考四:AngularJS的学习--$on、$emit和$broadcast的使用
参考五:angularJS的controller之间如何正确的通信
8.更多讨论
讨论:大家对angularJs中的控制器还有哪些理解?
9.视频资料
今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~
下期不见不散~