AngularJS:在创建新指令时,为什么有控制器?

时间:2014-03-14 05:01:50

标签: angularjs

据我了解,controller负责准备模型,并将模型传递给负责更新DOM的指令。 因此,在创建新指令时,为什么内部有控制器? 这是否意味着我可以在指令中连接服务器?

app.directive('hover', function () {
    return {
        restrict: 'E',
        controller: function ($scope) {
            // what is the controller for?
            ...
        }
    }
}
});

1 个答案:

答案 0 :(得分:2)

来自docs on $compile service

  

controller

     

[...]控制器之前被实例化   预链接阶段,它与其他指令共享(见   require属性)。这允许指令与之通信   彼此并增强彼此的行为。控制器是   注入(并支持括号表示法)与以下本地人:

     
      
  • $scope - 与元素相关的当前范围
  •   
  • $element - 当前元素
  •   
  • $attrs - 元素的当前属性对象
  •   
  • $transclude - 预先绑定到正确的转换范围的转换链接函数。范围可以由可选的第一个参数覆盖。   function([scope], cloneLinkingFn)
  •