Ich möchte eine Direktive erstellen, die bestimmte Elemente für Gastbenutzer verbergen kann. Zur Zeit habe ich dies:Richtlinie zum Ausblenden von Elementen des Gastbenutzers
angular.module('someMod')
.directive('premiumUser', premiumUser)
.controller('PremiumUserCtrl', PremiumUserCtrl);
function premiumUser() {
return {
restrict : 'A',
link : premiumUserLink,
controller : 'PremiumUserCtrl',
};
}
function premiumUserLink (scope, element) {
if (!scope.checkLoggedIn())
element.hide();
}
function PremiumUserCtrl ($scope, sessionManager) {
$scope.checkLoggedIn = function() {
return sessionManager.isUserLoggedIn();
};
}
Also, wenn ich diese Richtlinie auf ein Element wie folgt aus:
<ANY premium-user></ANY>
es funktioniert, aber es verhindert nicht die Steuerung gezielt Richtlinie onInit Code initialisieren und ausführen .
Wie kann ich diese Anweisung ändern, um eine Controller-Initialisierung zu verhindern?
Vielen Dank im Voraus!
verwenden Sie etwas, um Routen zu behandeln? wenn Sie nicht, könnte es sich lohnen, etwas wie (Ui-Router) [https://github.com/angular-ui/ui-router] zu verwenden. – alphapilgrim
@alphapilgrim Ja, ich benutze es, wie kann es mir helfen? – xSaber
Wenn der Status definiert ist, verfügt state über eine resolve-Methode, die einen Benutzertyp/Anmeldeinformationen vor der Statusänderung prüfen kann. – alphapilgrim