指令控制器与普通控制器的区别

时间:2014-12-24 03:21:18

标签: javascript angularjs

指令中的普通ng-controllercontroller之间有什么区别。

<div ng-controller="MyCtrl">
    <directive></directive>
</div>

下面我directive内有MyCtrl,我的指令也定义了controller

var app = angular.module('myApp',[]);

app.directive('map', function() {
    return {
        restrict: 'E',
        controller: function(){}
    }
});

function MyCtrl($scope) {}
  1. 指令中的普通ng-controllercontroller之间有什么区别。
  2. 为什么directivecontroller功能?

1 个答案:

答案 0 :(得分:1)

控制器不是一个应用它的函数它是一个逻辑容器,你将在某个范围内应用这个逻辑将在控制器内声明的不同函数中,所以真正的问题不是区别,而是何时使用它和何时使用另一个。

指令主要用于代码重用,并将应用程序的一部分与外部世界隔离,其控制器是容纳在app运行时调用的所有变量和函数的容器。

从另一个观点来看,

更像是c ++语言中的类,因为指令可以有自己的范围,主要用于代码重用。 实际上这个问题更像是在询问在类或主函数中声明函数之间有什么区别