如果它是第一个link
然后controller
它不可能require
其他指令和使用他们的控制器在link
函数。
看看代码从documentation:
var directiveDefinitionObject = {
controller: function($scope, $element, $attrs, $transclude, otherInjectables) { ... },
controllerAs: 'stringIdentifier',
require: 'siblingDirectiveName', // requiring another directive
compile: function compile(tElement, tAttrs, transclude) {
return {
pre: function preLink(scope, iElement, iAttrs, controller) { ... }, //siblingDirectiveName's controller is available in link function
post: function postLink(scope, iElement, iAttrs, controller) { ... }
}
},
};
return directiveDefinitionObject;
});
为了支持这一说法,我们可以读取Ø在同一个页面:
控制器
控制器构造函数。控制器在之前实例化预链接阶段,并且可以通过其他指令访问(请参阅require属性)。这允许指令相互沟通并增强彼此的行为。