93 votes

Conditional ng-inscrire à angularjs

Comment puis-je faire l'inclusion conditionnelle dans angularJS?

Par exemple, je veux seulement inclure quelque chose si, la variable x est définie sur true .

 <div ng-include="/partial.html"></div>
 

119voto

Mark Rajcok Points 85912

Utilisez ng-switch :

 <span ng-switch on="x">
   <div ng-switch-when="true" ng-include="'/partial.html'"></div>
</span>
 

Violon


Si vous utilisez Angular v1.1.5 ou version ultérieure, vous pouvez également utiliser ng-if :

 <div ng-if="x" ng-include="'/partial.html'"></div>
 

68voto

ganaraj Points 14228

Tu pourrais aussi faire

 <div ng-include="getInclude()"></div>
 

Dans votre contrôleur

 $scope.getInclude = function(){
    if(x){
        return "partial.html";
    }
    return "";
}
 

16voto

Rafał Lindemann Points 105

Version un peu plus lisible de l'une des réponses. Le paramètre Plus ng-include à null supprime l'élément - tout comme ng-if .

 <div ng-include="x ? 'true-partial.html' : null"></div>
 

11voto

dspies Points 439

Si la condition est assez simple, vous pouvez également placer la logique conditionnelle directement dans l'expression ng-include:

 <div ng-include="x && 'true-partial.html' || 'false-partial.html'"></div>
 

Notez que l'expression x n'est pas entre guillemets simples et est donc évaluée. Voir http://plnkr.co/edit/4fvNDa6Gm3dbVLgsAZrA pour plus de détails.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X