konditional einfügen/entfernen Ich möchte eine Direktive erstellen, die entscheidet, ob sein Host-Element apppear auf der Seite sein sollte oder nicht. Idealerweise möchte ich, dass das Element aus dem DOM entfernt wird und nicht nur mit css versteckt/angezeigt wird. Usecase ist:Wie Sie Host-DOM-Element in Angular 2 Direktive
<ul role="navigation">
<li><a>public link</a></li>
<li><a>public link2</a></li>
<li access="admin"><a>admin-only link</a></li>
</ul>
Es Userservice verwenden würde current Rollen zu bekommen und wenn es keine Admin dort die li
würde entfernt werden.
Ich vermute, ich könnte den gleichen Effekt mit ng-if
erreichen (wenn es noch in Winkel 2 verfügbar ist), indem Sie den Ausdruck in der Hauptkomponente zu bewerten. Aber mit der Richtlinie ist es semantischer und eleganter.
Ist es möglich?
import {Directive} from 'angular2/angular2';
@Directive({
selector: 'access'
})
export class Access {
//what goes here
}
ich einfach, dass in Winkel 1 getan haben könnte (innen compile
Funktion der Richtlinie), aber wie kann ich dies tun in Angular 2?
Ich habe eine Richtlinie in meinem GitHub Repo hier hinzugefügt, https://github.com/IbraheemAlSaady/angular-role-restrict-directive/ tree/master/angular2 Der Code ist ein bisschen anders von dem, was Sie wollen, aber es könnte Ihnen helfen, Ihre eigenen zu bauen. –