Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Exibição diferente

Boa tarde, terminei o primeiro módulo de Angular2, e estou com uma dúvida a respeito da página de cadastro.

uma das últimas coisas que fazemos é usar uma div para exibir a foto ao lado do formulário de cadastro

        <div class="col-md-6">
            <foto url="{{foto.url}}" titulo="{{foto.titulo}}"></foto>
        </div>

até ai tudo certo, porém se eu mudar para:

        <div class="col-md-6">
            <foto [url]="foto.url" [titulo]="foto.titulo"></foto>
        </div>

acontece que ele tenta exibir a imagem antes mesmo de o link ser inserido no formulário, e como não tem url, aparece aquela imagem cortada, e escrito "Undefined", alguém poderia me explicar o porque que ele está tentando exibir a imagem antes ?

1 resposta
solução!

Há uma ligeira diferença que você observou. No primeiro caso, através de AE (Angular Expression) quando não há valor ela é ignorada (branco). Já no segundo, você fez uma binding com [] ele tentará mostrar o valor da foto e, caso não haja valor nenhum, considerará undefined.

Se quiser usar [], você pode colocar na div da foto *ngIf="foto.url". Isso fará que a div seja exibida apenas se foto.url tiver valor.