После вашего комментария я понимаю, почему вы не работаете с односторонним связыванием.
Давайте начнем с inputValue = 1111
при нажатии кнопки, которая вызывает action()
вызов метода,мы устанавливаем inputValue
на ''
.Теперь всякий раз, когда мы изменяем значение в поле ввода напрямую, значение переменной inputValue
не изменяется, поскольку ее односторонняя переменная связывается.Так что теперь значение inputValue
остается как ''
, даже если в поле ввода есть какое-то значение.Когда мы вызываем action()
, он устанавливает его обратно на ''
.Но подождите, это уже было ''
, поэтому представление не нужно обновлять (даже если обнаружение изменений вручную не будет работать, потому что angular не увидит никаких изменений).
Чтобы исправить вашу проблему,либо вы можете использовать, [(ngModel)]
как предложено всеми.Если вы хотите попробовать, вы все равно можете использовать [ngModel]
, но просто обновите значение переменной при изменении ввода.
Что-то вроде:
searchAutocomplete(e) {
this.inputValue = e
// rest of the code
}
Но это только дляясное понимание, нам не нужен этот обходной путь, если двусторонняя привязка может решить проблему.
https://stackblitz.com/edit/angular-rcdty6?file=src%2Fapp%2Fapp.component.html