2013-06-05 1 views
2

J'utilise un commutateur pour inclure conditionnellement un contenu différent. Je souhaite que le contenu interne (par exemple, la directive welcome) remplace l'élément ng-switch parent. Je sais que vous pouvez le faire avec des directives personnalisées en utilisant la propriété de configuration replace = true, mais est-ce possible avec les directives intégrées comme ng-switch?Dans Angular.js, est-il possible de remplacer un élément de la directive ng-switch par son contenu?

<div id="container"> 
    <ng-switch on="tabIndex"> 

     <welcome ng-switch-when="welcome"></welcome> 

     <main ng-switch-when="main"></main> 

     <help ng-switch-when="help"></help> 

    </ng-switch> 
</div> 

Par exemple, lorsque la valeur de tabIndex est « aide », je veux le code html suivant pour résultat:

<div id="container"> 

    <help><!-- contents of help template --></help> 

</div> 
+1

Je pense que ce n'est pas possible avec seulement la directive ng-switch. Il ajoute juste le bon interrupteur quand à son élément principal. – Oliver

Répondre

8

Vous aurez toujours besoin de la logique là-bas, mais vous ne avoir pour utiliser un élément pour un commutateur. Cela marchera aussi bien qu'un attribut sur le parent:

<div id="container" ng-switch on="tabIndex"> 
    <welcome ng-switch-when="welcome"></welcome> 
    <main ng-switch-when="main"></main> 
    <help ng-switch-when="help"></help> 
</div> 
Questions connexes