Die Verwendung mehrerer Direktiven erfordert mit Angularjs
Ich habe die Situation, in der ich Zugriff auf mehrere Direktiven-Controller-Methoden benötige.
Ich kann von einer übergeordneten Direktive aus auf eine Methode zugreifen, indem ich die folgende Anforderung verwende:
require:"^parentDirective"
Ich muss aber auch auf eine Methode innerhalb einer separaten Direktive zugreifen (keine übergeordnete), heißt es in der Dokumentation dazuVerwenden Sie ein Array von Zeichenfolgen wie so:
require:["^parentDirective","directiveTwo"]
Dies führt jedoch zu Fehlern, obwohl beide Anweisungen in das DOM kompiliert wurden.
Vermisse ich hier etwas?
hier ist meine richtlinie:
angular.module('testModule', ['parentModule'], function () {
}).directive('testDirective', function() {
return {
restrict: 'AE',
templateUrl: 'testTemplate.tpl.html',
scope: {
value1: "=",
value2: "="
},
require:['^parentDirective','otherDirective'],
controller: function($scope,$modal,socketConnection) {
if(case_x == true){
$scope.requiredController_1.ctrl1Func();
}
else if(case_x == false){
$scope.requiredController_2.ctrl2Func();
}
},
link: function(scope,element,attrs,requiredController_1,requiredController_2){
scope.requiredController_1 = requiredController_1;
scope.requiredController_2 = requiredController_2;
}
};
});