Angular

angular/banana-in-box

Two-way binding is written [(prop)], brackets outside; ([prop]) silently binds an event named [prop] instead.

umiarkowanastatycznefe-angular

Dlaczego

([ngModel])="name" is read as an event binding to an event called [ngModel], which never fires. The input shows no value and typing does not update the component, with no compile error to point at the cause.

Poprawka

Swap the brackets: [(ngModel)]="name" (the "banana in a box": parentheses inside square brackets). With a model() input on your own component the same syntax binds both ways: [(value)]="query".

Przykłady

<!-- bad -->
<input id="name" ([ngModel])="name">
<!-- good -->
<input id="name" [(ngModel)]="name">

Źródła

Fakty

Identyfikator
angular/banana-in-box
Waga
umiarkowana
Sprawdzanie
statyczne sprawdzane w kodzie źródłowym przez audit
Dotyczy plików
angular
Tylko w projektach z
angular
Uczy jej skill
fe-angular Angular components
Od wersji
0.1.0

Plik reguły na GitHubie

Przeczytaj w terminalu

npx github:dawidolko/frontend-skills explain angular/banana-in-box