AngularJS à l'aide de ng-commutateur sans emballage div
Je voudrais utiliser ng-switch parce que je ne veux pas que les autres éléments que je ne veux pas montrer à une partie de la DOM. C'est pourquoi je n'ai pas utilisé ng-hide/ng-show. Dans l'exemple ci-dessous, je voudrais seulement avoir la span
tag être dans les DOM, sans la div wrappers de la ng-switch. Quelle est la meilleure façon d'accomplir cette?
<div ng-switch on="user">
<div ng-switch-when="true">
<span>One</span>
</div>
<div ng-switch-when="false">
<span>Two</span>
</div>
</div>
- Avez-vous essayé de mettre le ng-commutateur-quand sur la durée de lui-même?
- ouais j'ai essayé de mettre le ng-commutateur-lorsque, sur la durée, mais theres encore la div wrapper de la ng-switch.
- l'angulaire de l'interface dispose d'une interface utilisateur-si la directive qui sera probablement le travail pour vous.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le ng-commutateur directive comme un élément personnalisé et de ne pas spécifier la div en premier lieu. Par exemple:
Ici est un plunker de jouer avec: http://plnkr.co/edit/zni6raUWOguhQh9jDiY3
<span/>
des balises dans un<div/>
cependant, l'envelopper dans<ng-switch/>
donc, si vous êtes désireux d'utiliser un enfant sélecteur css commebody > span
il ne sera pas en mesure de satisfaire. mais puisque ce n'était pas une préoccupation initiale-- n'est pas très grave.<ng-switch>
vient entre le parent et l'enfant flex-zone de divs (Chrome 46).de la solution fournie par @ChrisAuer cela crée tout de même un élément d'habillage.
Autant que je sache, vous auriez à utiliser une custome directive. Vous souhaiterez peut-être utiliser
angular-ui
if
Probablement, dans votre cas, vous auriez très bien avec
ng-show
oung-hide
qui ne masquer(display:none
) l'élément - ils ne retirez pas la forme laDOM
.Je dirais utilisation
ng-if
, comme ceci:vous pouvez utiliser
<span>
pour éviter que votre mise en page html de changerparce que
<span>
n'est pas comme<div>
, il ne prendra pas de place.