Возиться с обращением числа с входа Angular.
Вот метод и свойство:
reversedIntInput = "";
reverseInt(event: any) {
const inputString = (<HTMLInputElement>event.target).value;
const parsed = parseInt(inputString);
if (Number.isNaN(parsed) || inputString == "" || inputString === null) {
this.reversedIntInput = "Nice try but this is not a number.";
} else {
this.reversedIntInput = inputString
.split("")
.reverse()
.join("");
}
}
, а вот html:
<label>Reverse an Integer</label>
<input type="text" class="form-control" (input)="reverseInt($event)">
<p>{{ reversedIntInput }}</p>
Если я введу «d» на входе, оно действительно покажет «Хорошая попытка, но это не число». если я наберу «45» на входе, он действительно отображает «54».
Но если я наберу «54 ddd», он просто переворачивает его в виде строки и отображает «ddd45», когда должен отображаться « Хорошая попытка, но это не число. "
Почему это? Я консольный журнал inputString
и parsed
, и inputString продолжает обновляться, когда печатается буква, но не анализируется.