Solución:
No es necesario utilizar explícitamente calificadores como item.photo == ''
o item.photo != ''
. Al igual que en JavaScript, una cadena vacía se evaluará como falsa.
Tus vistas también serán mucho más limpias y legibles.
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"></script>
<div ng-app init="item = {photo: ''}">
<div ng-if="item.photo"> show if photo is not empty</div>
<div ng-if="!item.photo"> show if photo is empty</div>
<input type=text ng-model="item.photo" placeholder="photo" />
</div
Actualizado para eliminar errores en Angular
Probablemente tu item.photo
es undefined
si no tiene un atributo de foto en el artículo en primer lugar y, por lo tanto, undefined != ''
. Pero si pusiera algún código para mostrar cómo proporciona valores a item
, eso puede ayudar.
PD: Perdón por publicar esto como respuesta (más bien creo que es más un comentario), pero todavía no tengo suficiente reputación.
Si por “vacío” te refieres undefined
, es la forma en que se interpretan las expresiones ng. Entonces, podrías usar:
<a ng-if="!item.photo" href="https://foroayuda.es/#/details/{{item.id}}"><img src="/img.jpg" class="img-responsive"></a>
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)