Estou trabalhando com angular 2 e encontrei algo como
<input #searchBox (keyup)="search(searchBox.value)"
e funciona.
No entanto, não entendo o significado de #searchBox . Também não encontrei nada claro no documento.
Alguém poderia me explicar como isso funciona?
javascript
html
angular
typescript
ackuser
fonte
fonte
#searchBox
no elemento é o que permite que você usesearchBox.value
no manipulador de chaves.Respostas:
É a sintaxe usada no sistema de modelagem Angular 2 que declara elementos DOM como variáveis.
Aqui, dou ao meu componente um URL de modelo:
Modelos renderizam HTML. Em um modelo, você pode usar dados, associação de propriedades e associação de eventos. Isso é realizado com a seguinte sintaxe:
#
- declaração variável()
- associação de eventos[]
- ligação de propriedade[()]
- ligação de propriedade bidirecional{{ }}
- interpolação*
- diretivas estruturaisA
#
sintaxe pode declarar nomes de variáveis locais que referenciam objetos DOM em um modelo. por exemplofonte
<input #bla style="display: none;" value="Foo" /<div> {{bla.value}} </div>
. Foo é exibido em div.Ao definir essa #searchBox, você pode obter essa entrada no seu Typecript, como
EDITAR
Adicionando algum exemplo: https://plnkr.co/edit/w2FVfKlWP72pzXIsfsCU?p=preview
fonte
Em angulartraining.com :
fonte
Ele cria uma variável de modelo que referencia
input
elemento se o elemento for um elemento DOM simples#foo="bar"
quandobar
éEssa variável de modelo pode ser referenciada em ligações de modelo ou em consultas de elemento como
fonte
ngModel
é para integração de formulários. Você pode fazer todos os outros tipos de ligações semngModel
.ngAfterViewInit
sem realmente importá-lo? E implementando? É um recurso incorporado no plunker?