Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Problema com a diretiva minhaFoto

Na aula 07, na página de cadastro de uma nova imagem, utilizamos a diretiva minha-foto.

Na página de cadastro, o correto é o título da imagem atualizar no mesmo momento que o usuário preenche o campo título. Ok, isso funciona bem. Porém, quando preencho o campo título, o texto que eu coloquei aparece na coluna ao lado também devido ao AE da diretiva minha-foto.

Só pra esclarecer melhor, quando inspeciono minha página de cadastro no momento que preencho o campo título, fica assim:

<img class="img-responsive center-block" src(unknown) alt="Leão Maneiro">

E o alt passa a ser visível pelo usuário como texto. Não estou conseguindo identificar onde estou errando.

6 respostas

Olá, Lucas.

Você pode colocar o código que você está chamando a diretiva minha-foto, pra gente dar uma olhada?

Esse é o código onde chamo a diretiva minha-foto no formulário de cadastro de nova imagem:

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

E essa é a minha diretiva:

.directive('minhaFoto',function(){
    var ddo = {};

    ddo.restrict = "AE";
    ddo.scope = {
        titulo: '@',
        url: '@'
    };

    ddo.template = '<img class="img-responsive center-block" src="{{url}}" alt="{{titulo}}">'; 

    return ddo;
});

Esse é comportamento esperado por causa do data bind. Se não quer que o título da foto não seja exibido enquanto vc não digitou a url basta não passar esse valor para diretiva.

Primeiramente, obrigado pela resposta Flavio.

Mas se eu não passar esse valor para a diretiva, o alt da minha imagem não receberá o título da minha foto certo?

O que mais me intrigou é que na sua aula, apesar de nossos códigos estarem iguais, não aconteceu esse problema com você.

solução!

Boa noite

Pode ser questão de navegador. No caso da tela de cadastro a foto é ilustrativa apenas, não tem problema ficar sem o título.

Tem razão. Agora se fosse em uma galeria de fotos, seria importante para a semântica da página. Concordo que no exemplo realmente não há relevância.