Я работаю с родительским и дочерним компонентами. Дочерний компонент имеет поле ввода и будет выдавать значение, введенное пользователем в родительский компонент, следующим образом:
<parent-component (sendInputValue)="getInputValue($event)"><parent-component>
Теперь в родительском компоненте у меня есть это:
getInputField(data){
console.log(data); // this prints the data (Example: abc)
// then here I'm just executing the API call ONLY if data length is 3
if(data.length === 3){
this.myService.getDataFromService(data).subscribe(rs=>console.log(rs));
}
}
Теперь предположим, что это происходит:
- Пользователь вводит: ab c // Вызов API выполняется, что хорошо
- Теперь пользователь вводит: abcd // Вызов API не выполняется , это хорошо
- Теперь пользователь удаляет букву «d», и новое значение данных будет «ab c». Я НЕ хочу снова выполнять вызов API, потому что мы уже выполняем вызов API для «ab c "
- Теперь, если пользователь удаляет букву« c », новым значением данных становится« ab ». На этом этапе вызова API не ожидается.
- Теперь, если пользователь добавляет букву «c», новое значение будет «ab c». На этом этапе ожидается вызов API. (это работает)
Итак, как всегда выполнять вызов API, если входные данные составляют 3 символа, и если пользователь вводит больше символов, ничего не должно происходить, и если он удаляет символы и возвращается к первым 3 символов ничего не должно происходить, потому что API уже произошло? Заранее большое спасибо!