2016-04-18 9 views
0

Ich habe einen modalen Dienst, um das Öffnen und Schließen von Popups zu behandeln. Von einem Controller einfach ich die Abhängigkeit injizieren und wie folgt vorgehen:öffnen Winkel modal aus Direktive

function LoginRegisterController($scope, login, register) { 
    $scope.openLogin = login.activate; 
    ... 
    $scope.closeLogin = login.deactivate; 
} 

Die Sache ist, wenn der Benutzer nicht angemeldet ist er aufgefordert werden sollte, um sich einzuloggen. Und dazu muss ich das Modal von einer Direktive und nicht von einem Controller öffnen. Ich habe Folgendes versucht, aber es funktioniert nicht:

angular.module('mgApp.directives').directive('promptLogin', [ 'login', function(login) { 
    function link(scope, element, attrs) { 
    element.on('$load', function() { 
     login.activate; 
    }) 
    }; 

    return { 
    link: link 
}; 
}]); 

Antwort

0

Ich denke, du gehst über den falschen Weg. Warum nicht in die Richtlinie eingehen, ob die Person eingeloggt ist oder nicht? Oder verwenden Sie eine ng-if in Ihrem HTML, um eine andere Direktive basierend auf dem Login zu zeigen?

+0

gute Idee @Chris Stanley. Ich werde es versuchen. – ntonnelier

+0

Kein Problem. Wenn Sie Hilfe brauchen, lassen Sie es mich wissen. Auch, wenn diese Antwort hilft, könnten Sie es upvote oder es als Antwort markieren? Versuchen, etwas Ansehen zu bekommen. :) –

Verwandte Themen