Я понял через monitorEvents
, что по крайней мере в Chrome событие keyup
запускается перед событием автозаполнения input
. На обычном вводе клавиатуры последовательность keydown
input
keyup
, поэтому после ввода.
То, что я сделал, тогда:
let myFun = ()=>{ ..do Something };
input.addEventListener('change', myFun );
//fallback in case change is not fired on autocomplete
let _k = null;
input.addEventListener( 'keydown', (e)=>_k=e.type );
input.addEventListener( 'keyup', (e)=>_k=e.type );
input.addEventListener( 'input', (e)=>{ if(_k === 'keyup') myFun();})
Нужно проверить с другим браузером, но это может быть без интервалов.
Попробуйте, как показано ниже:
ngOnInit() {
this.data.getLocation().subscribe( data => {
this.location = data[0].
console.log(data)
this.lat = this.location.latitude;
this.lng = this.location.longitude;
}
);
}