Comment conditionnelle, d'insérer ou de retirer de l'hôte de l'élément DOM angulaire 2 de la directive

Je veux créer une directive qui décidera s'il convient ou non de son hôte élément apppear sur la page. Idéalement, je voudrais, pour supprimer l'élément du DOM et pas juste cacher/montrer avec les css. Cas d'utilisation:

<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>

Elle serait d'utiliser UserService pour obtenir currentUser rôles et si il n'y a pas admin il le li serait supprimé.

Je suppose que je pourrais obtenir le même effet avec ng-if (si elle est toujours disponible dans angulaire 2) en passant l'expression de evaulate dans le composant principal. Mais avec la directive, il est plus sémantique et élégant.

Est-il possible?

import {Directive} from 'angular2/angular2';

@Directive({
    selector: 'access'
})
export class Access {
 //what goes here
}

J'aurais pu facilement le fait que dans angulaire 1 (à l'intérieur de la directive compile fonction), mais comment puis-je faire dans Angulaire 2?

J'ai ajouté une directive dans mon dépôt github ici, github.com/IbraheemAlSaady/angular-role-restrict-directive/tree/... le code est un peu différent de ce que vous voulez, mais il pourrait vous aider à construire votre propre.

OriginalL'auteur dKab | 2015-12-24