Die Verwendung von mehreren Richtlinien, die in erfordern mit Angularjs

Habe ich die situation, wo ich muss den Zugriff auf mehrere Richtlinie controller-Methoden.

Kann ich den Zugriff auf eine Methode von einer übergeordneten Richtlinie mit dem verlangen, etwa so:

    require:"^parentDirective"

aber ich brauche auch einen Zugriff auf eine Methode in einer separaten Richtlinie (nicht die Eltern), die Dokumentation sagt verwenden Sie ein array von strings etwa so:

    require:["^parentDirective","directiveTwo"] 

aber dies bewirkt, dass Fehler, obwohl die beiden Richtlinien wurden zusammengestellt, um den DOM.

Bin ich hier etwas fehlt?

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;

            }

        };

    });
  • Kann man alle drei Richtlinien in eine fiddle oder plunker? Das einzige, was ich sehe, falsch ist, der link-Funktion die Funktion erhält ein array von Controllern, die nicht jeden controller einzeln (es sei denn das wurde geändert).
  • Hier ist ein plunker was ich bin versucht zu tun, aber es immer noch nicht zu funktionieren scheint und immer wieder, ich bin nicht sicher, warum.
InformationsquelleAutor user1005240 | 2014-08-26
Schreibe einen Kommentar