Pracuję z Angular 2 i znalazłem coś takiego
<input #searchBox (keyup)="search(searchBox.value)"
i to działa.
Jednak nie rozumiem znaczenia #searchBox . Nie znalazłem nic jasnego ani w doktorze.
Czy ktoś mógłby mi wyjaśnić, jak to działa?
javascript
html
angular
typescript
Ackuser
źródło
źródło
#searchBox
elementu jest tym, co pozwala na użycie gosearchBox.value
w module obsługi klucza.Odpowiedzi:
Jego składnia jest używana w systemie szablonów Angular 2, który deklaruje elementy DOM jako zmienne.
Tutaj daję mojemu komponentowi adres URL szablonu:
Szablony renderują HTML. W szablonie można używać danych, powiązań właściwości i powiązań zdarzeń. Osiąga się to za pomocą następującej składni:
#
- deklaracja zmiennej()
- oprawa wydarzenia[]
- wiązanie majątkowe[()]
- dwukierunkowe powiązanie własności{{ }}
- interpolacja*
- dyrektywy strukturalne#
Składnia może zadeklarować lokalne nazwy zmiennych, które Referencje DOM obiektów w szablonie. na przykładźródło
<input #bla style="display: none;" value="Foo" /<div> {{bla.value}} </div>
. Foo jest wyświetlane w div.Po ustawieniu tego #searchBox możesz uzyskać te dane wejściowe w swoim Typescript, takim jak
EDYTOWAĆ
Dodanie przykładu: https://plnkr.co/edit/w2FVfKlWP72pzXIsfsCU?p=preview
źródło
Z angulartraining.com :
źródło
Tworzy zmienną szablonową, która odwołuje się do
input
elementem, gdy element jest zwykłym elementu DOM#foo="bar"
kiedybar
jestDo takiej zmiennej szablonu można się odwoływać w powiązaniach szablonów lub w zapytaniach o elementy, takich jak
źródło
ngModel
służy do integracji formularzy. Możesz wykonywać wszystkie inne rodzaje powiązań bezngModel
.ngAfterViewInit
bez importowania go? A wdrażanie? Czy to wbudowana funkcja Plunkera?