2016-07-19 17 views
5

Wdrażam niestandardową dyrektywę w Angular 2, dyrektywę do sprawdzania poprawności formularza, aw wielu miejscach widzę, że w definicji dyrektywy właściwość selektora jest powiązana z wieloma identyfikatorami - na przykład:Dyrektywa Angular2 - selektor z wieloma identyfikatorami

@Directive({ 
    selector: '[my-custom-validator][ngModel]' 
}) 

Co oznacza wybór "[...]" (nawias)?

Odpowiedz

4

Podobnie jak w CSS, selektor [attr] dopasowuje elementy, które mają atrybut o nazwie attr. Gdy wiele selektorów atrybutu jest połączonych łańcuchowo, atrybuty muszą istnieć na elemencie.

Uwaga: W przeciwieństwie do CSS, kątowe ignoruje wszelkie [...] lub [(...)] wsporniki wiążąca atrybutu docelowej, gdy wykonuje mecz.

Zatem elementy selektor [my-custom-validate][ngModel] dopasowania, które mają zarówno cechę my‑custom‑validate oraz atrybut ngModel (łącznie [ngModel] i [(ngModel)]). Na przykład, selektor pasuje

<input type="text" name="username" my-custom-validate [(ngModel)]="model.username"> 

ale nie

<input type="text" name="username" my-custom-validate> 
+0

Sądzę więc, że chcemy wykorzystać atrybut ngModel i dołącz do naszego dyrektywę tylko elementów z ngModel? inaczej nie nastąpi żadna zmiana? – galvan

+0

Zgadza się. –

Powiązane problemy