Angular b/w差异(输入)和(离子变化)事件-离子3
我试图在10个字符后调用web服务,但我注意到当我使用input=onInput时,它调用了两次,我不知道为什么 经过几次搜索,我将其更改为ionChange=onInput,但它工作正常。 我的问题是: 1:这两个事件的区别是什么? 2:在ionic-3中使用event.stopPropagation可以防止两次调用 html: ionChange是一个角事件发射器,由Ionic用于处理大多数自定义组件中的输入更改。它在其中定义为 输入就是可以与离子元素以及基本html输入元素一起使用的DOM 与输入事件相比,ionChange在发出之前有许多检查,这可能会阻止它在值更改时多次触发 在ionic-3中使用event.stopPropagation可以防止两次调用 是的,您可以传递任何参数,包括html$event并调用其函数Angular b/w差异(输入)和(离子变化)事件-离子3,angular,ionic-framework,ionic2,ionic3,Angular,Ionic Framework,Ionic2,Ionic3,我试图在10个字符后调用web服务,但我注意到当我使用input=onInput时,它调用了两次,我不知道为什么 经过几次搜索,我将其更改为ionChange=onInput,但它工作正常。 我的问题是: 1:这两个事件的区别是什么? 2:在ionic-3中使用event.stopPropagation可以防止两次调用 html: ionChange是一个角事件发射器,由Ionic用于处理大多数自定义组件中的输入更改。它在其中定义为 输入就是可以与离子元素以及基本html输入元素一起使用的DOM
<ion-input type="text" [(ngModel)]='time'
(ionChange)='onInput($event)'>
</ion-input>
onInput() {
## call service
}
@Output() ionChange: EventEmitter<BaseInput<T>> = new EventEmitter<BaseInput<T>>();
//...
_fireIonChange() {
if (this._init) {
this._debouncer.debounce(() => {
assert(NgZone.isInAngularZone(), 'IonChange: should be zoned');
this.ionChange.emit(this._inputChangeEvent());
this._initModel = true;
});
}
}