第五章-控制器

控制器在AngularJS中的做用是加强视图,用来向视图的做用域中添加额外的功能。咱们用它来给做用域对象设置初始状态,并添加自定义行为。当咱们在页面上建立一个新的控制器时,AngularJs会生成并传递一个新的$scope给这个控制器。能够在这个控制器里初始化$scope,因为AngularJs会负责处理控制器的实例化过程,咱们只需编写构造函数便可。 app

 

控制器能够将与一个独立视图相关的业务逻辑封装在一个独立的容器中,尽量地精简控制器是很好的作法。 框架

 

AngularJS同其余Javascript框架最主要的一个区别是,控制器并不适合用来执行DOM操做,格式化或数据操做,以及除存储数据模型以外的状态维护操做。它只是视图和$scope之间的桥梁。 函数

 

AngularJS经过做用域将视图,控制器和指令隔离开来,这样就很容易为功能的具体部分编写测试。 测试

 

控制器嵌套(做用域包含做用域) spa

AnjularJS应用的任何一个部分,不管它渲染在哪一个上下文中,都有父级做用域存在,对于ng-app所处的层级来说,它的父级做用域就是$rootScope。 设计

 
 

除了孤立做用域外,全部的做用域都经过原型继承而来,也就是说他们均可以访问父级做用域。 orm

 
 

AnjularJS在当前做用域中没法找到某个属性时,便会在父级做用域中进行查找。若是AnjularJS找不到对应的属性,会顺着父级做用域一直向上寻找,直到抵达$rootScope为止。 xml

 
 

控制器应该尽量保持短小精悍,而在控制器中进行DOM操做和数据操做则是一个很差的实践。设计良好的应用会将复杂的逻辑放到指令和服务中。经过使用指令和服务,咱们能够将控制器重构成一个轻量且更易于维护的形式。 对象

相关文章
相关标签/搜索