据我了解,controller负责准备模型,并将模型传递给负责更新DOM的指令。 因此,在创建新指令时,为什么内部有控制器? 这是否意味着我可以在指令中连接服务器?
app.directive('hover', function () {
return {
restrict: 'E',
controller: function ($scope) {
// what is the controller for?
...
}
}
}
});
答案 0 :(得分:2)
controller
[...]控制器之前被实例化 预链接阶段,它与其他指令共享(见
require
属性)。这允许指令与之通信 彼此并增强彼此的行为。控制器是 注入(并支持括号表示法)与以下本地人:
$scope
- 与元素相关的当前范围$element
- 当前元素$attrs
- 元素的当前属性对象$transclude
- 预先绑定到正确的转换范围的转换链接函数。范围可以由可选的第一个参数覆盖。function([scope], cloneLinkingFn)
。