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

Atributo focado="focado"

Pessoal,

Foi realizada a declaração do atributo no botão voltar da seguinte forma:

<a href="/" class="btn btn-primary" meu-focus focado="focado">Voltar</a>

Gostaria de entender porque neste caso o valor da propriedade focado teve que necessariamente ter o valor "focado" já que os valores comparados são "true / false". Se colocar qualquer outro valor no atributo o watch para de funcionar.

Por exemplo o $watch não apresenta o comportamento esperado se a declaração estiver da seguinte forma por exemplo:

<a href="/" class="btn btn-primary" meu-focus focado="tapioca">Voltar</a>

ou

<a href="/" class="btn btn-primary" meu-focus focado="false">Voltar</a>

Porque obrigatoriamente o valor o atributo tem que ser igual ao nome do atributo? Ou caso exista uma forma de representar isso diferentemente como deve ser feito?

Grato

1 resposta
solução!

Bom dia Fábio,

Focado é a propriedade do controller, você esta fazendo um binding bidirecional com =. Muda no controller , muda na diretiva, muda na diretiva muda no controller. Se vc passar tapioca é uma propriedade do controller? Não, o valor do controller nunca mudará. Isso porque você usou =. É uma exigencia que o valor da expressão exista no controller , seja lá qual nome for. Se for mudar o nome em sua diretiva tem que passar outro nome depois do =. Eu explico isso no curso quando você cria sua primeira diretiva com @, por exemplo fazendo @titulo.