您的位置:首页 > 其它

多个控制器

2014-11-18 02:49 190 查看
先来个实例代码

AngularJS页面:

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

</head>

<body>

    <div ng-app="">

      <div ng-controller="firstController">

          <input type="text" value="" ng-model="name"/>

          <div ng-controller="secondController">

              <input type="text" value="" ng-model="name"/>

          </div>

      </div>

  </div>

    <script type="text/javascript" src="app/index.js"></script>

<script type="text/javascript" src="../../vendor/angular/angularjs.js"></script>

</html>

JS页面:

  var firstController = function($scope){

  $scope.name="Zoey";

}

var secondController = function($scope){

}

此时,这里有三个作用域:而AngularJS的作用域和JS的作用域的原理是一样的(内部作用域可以访问上一级的作用域,但是不能访问下一级的作用域。当secondController里面没有东西的时候,她就会往上一级作用域里面去找,这时候的输出结果就会是这样的了:



这个时候, 当我们改变firstController的值的时候, controller的值也是跟着改变的。 但是当我们更改secondController的值的时候,其firstController的值保持不变。但是,当我们一旦修改了secondController的值的时候(和firstController的值不一致的时候)再去更改firstController的值时。因为secondController已经有个自己的值了,这个时候secondController的值不会随着firstController的值去变更(相互的值都是独立的了)。这也是和JS的作用域的原理是一样的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  控制器 controller