Co chcialem osiagnac:
Zbindowac stringa i policzyc jego dlugosc
Jak oryginalnie to napisalem
<div class="row form-row">
<div class="form-input col">
<textarea type="text" [(ngModel)]="messagebody"></textarea>
<label>Message Body</label>
</div>
</div>
<label>{{ messagebody.length }} characters</label>
</ng-container>
@Component({
selector: 'app-sms-step-editor',
templateUrl: './sms-step-editor.component.html'
})
export class SmsStepEditorComponent implements OnInit {
public messagebody = 'with some test text';
ngOnInit(): void {}
}
Wiadomosc zbindowalo do messagebody.length, ale textarea nie dzialal (nie pokazywal sie tekst i nie dalo sie zrobic zadnych zmian).
Teraz kod ktory dziala
<div class="row form-row">
<div class="form-input col">
<textarea type="text" name="blah" [(ngModel)]="messagebody"></textarea>
<label>Message Body</label>
</div>
</div>
<label>{{ messagebody.length }} characters</label>
{{messagebody}}
</ng-container>
Jak zauwazyliscie (lub nie) jedyna zmiana to bylo dodanie name atrybutu do textarea. Teraz nagle dziala bez problemow.
Dlaczego w tym oficjalnym przykladzie
https://stackblitz.com/angular/qdbpeyaxyeg?file=src%2Fapp%2Fapp.component.html
input na name (144 linijka) jest bez nazwy i dziala prawidlowo?
Nie jest to problem z textarea, jezeli wrzuce do mojego kodu input bez nazwy tez nie dziala. Chcialbym lepiej zrozumiec co sie dzieje behind the scene