ngIf-autre modèle
Je suis en train de charger pictureA
ou pictureB
.
Ma première solution est comme ceci:
<img *ngIf="my_picture" src="{{my_picture}}" width="180" height="80" >
<img *ngIf="default_picture && !my_picture" src="{{default_picture}}">
Mais je voudrais utiliser if
-else
comme sur la Référence de l'API:
<div *ngIf="condition; else elseBlock">...</div>
<ng-template #elseBlock>...</ng-template>
Donc, je suis en train de faire comme ceci:
<div *ngIf="my_picture; else elseBlock">
<img src="{{my_picture}}" >
</div>
<ng-template #elseBlock>
<img src="{{default_picture}}" >
</ng-template>
Mais je suis une grosse trace de pile d'exception:
zone.js:388 Unhandled Promise rejection: Template parse errors: Can't bind to 'ngIfElse' since it isn't a known property of 'div'. (" --> <div [ERROR ->]*ngIf="my_picture; else elseBlock"> <img src="{{my_picture}}"): UserComponent@15:13 Property binding ngIfElse not used by any directive on an embedded template. Make sure that the property name is spelled correctly and
toutes les directives sont répertoriés dans le "@NgModule.déclarations". ("
-->[ERROR ->]<div *ngIf="my_picture; else elseBlock"> <img src="{{my_picture}}" width="180" height="8"): UserComponent@15:8 'ng-template' is not a known element
Comment puis-je mettre en œuvre un simple if
-else
bloc?
- Êtes-vous à l'aide de Angular4?
- Pourquoi ne pas utiliser
ngSwitch
à la place?
Vous devez vous connecter pour publier un commentaire.
Vous devriez être en utilisant ng-modèle
LIVEDEMO
ngIf/d'Autre syntaxe n'est pas disponible dans angulaire 2, mais il est disponible dans angulaire 4
Angulaire 2, vous devez utiliser ngIf deux fois, et dans le deuxième temps de vous nier la valeur de l'objet de la comparaison (et non à l'aide de l' !=, mais ayant esperluette avec la valeur)
Angulaire 4,