您的位置:首页 > Web前端 > AngularJS

angular学习笔记(十二)-控制器

2014-05-10 12:23 309 查看
本篇主要介绍控制器:

控制器在前面的例子中已经大量的用到,它的作用主要是:

控制某块视图,通过$scope向这块视图提供数据,函数,并且监视需要被检测的部分,当发生变化时,做出相应的动作,从而起到控制该部分视图的作用

为了保持控制器的最小化和可管理,应该为视图中的每个功能都创建一个控制器,比如,有一个菜单,就创建一个menuController,有一个导航,就创建一个NavController...

控制器可以内嵌,比如:

<div ng-controller = "ParentController">
<h3>{{title}}</h3>
<div ng-controller = SonController>
<h5>{{title}}</h5>
<div>
</div>


function ParentController ($scope){
$scope.title = 'I am ParentController';
}
function SonController ($scope){
$scope.title = 'I am SonController';
}


可以得到正确的视图:



如果我们把这句话注释掉:

//$scope.title = 'I am SonController';

会得到这样的视图:



实际上,控制器的嵌套,就是作用域的嵌套,传递给内嵌控制器呃$scope继承了它父控制器的$scope.
所以SonController的$scope可以访问ParentController的$scope的所有属性和方法

------------------------------------------------------------------------------------------------------------------------------------------------------------

遗留问题:

当一个视图有多个功能的时候,没有办法为一个div添加两个控制器,虽然控制器可以嵌套,但不能错位嵌套,比如:

<div ng-controller="controllerOne">

  <div ng-controller="controllerTwo">

</div>

</div>

另外,还有一个"视图+路由"的方法,将在后面介绍.不知道是否能够解决这些问题.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: