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


    本篇主要介绍控制器:

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

    控制某块视图,通过$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>

    另外,还有一个"视图+路由"的方法,将在后面介绍.不知道是否能够解决这些问题.

  • 相关阅读:
    禅语
    读《只有10%的程序员能把这个小程序写对》 漫谈开发进度
    游戏里的时钟
    关于Bug
    Silverlight游戏开发心得(2)——调度器的其他话题
    [转]MySQL索引背后的数据结构及算法原理
    [转] The Development of the C Language
    Regular expression: Implementations and running times
    [转]计算机科学经典论文
    [转]Linux 进程间通信:共享内存
  • 原文地址:https://www.cnblogs.com/liulangmao/p/3720271.html
Copyright © 2020-2023  润新知