Angular 需要model.valueChanges中的完整事件

Angular 需要model.valueChanges中的完整事件,angular,rxjs,Angular,Rxjs,我有如下指示 @Directive({ selector: '[debounce]' }) export class DebounceDirective { @Output() public onchange = new EventEmitter<any>(); @Input('debounce') public debounceTime: number = 500; private isFirstChange: boolean = true; constructor(publ

我有如下指示

@Directive({
selector: '[debounce]'
})
export class DebounceDirective {
@Output()
public onchange = new EventEmitter<any>();

@Input('debounce')
public debounceTime: number = 500;

private isFirstChange: boolean = true;

constructor(public model: NgControl) {
}

ngOnInit() {
    this.model.valueChanges
        .debounceTime(this.debounceTime)
        .distinctUntilChanged()
        .subscribe(event => {
            debugger;
            if (this.isFirstChange) {
                this.isFirstChange = false;
            } else {
                this.onchange.emit(event);
            }
        });
  }
}
@指令({
选择器:“[debounce]”
})
导出类去BounceDirective{
@输出()
public onchange=new EventEmitter();
@输入('debounce')
公共去公告时间:编号=500;
private isFirstChange:boolean=true;
构造函数(公共模型:NgControl){
}
恩戈尼尼特(){
此.model.valueChanges
.debounceTime(此.debounceTime)
.distinctUntilChanged()
.订阅(事件=>{
调试器;
if(this.isFirstChange){
this.isFirstChange=false;
}否则{
this.onchange.emit(事件);
}
});
}
}
Html



当触发事件时,我只获取输入值,但我需要整个事件。在订阅中,我需要完整的事件。请帮助我。

可观察的
值更改
仅发出输入字段的值。不是整个事件对象

也许您可以传递一个实例,然后注册一个。
我认为这些类中没有任何一个具有发出更改事件的Observable,因此我猜您必须使用
Subject
Observable.create()
来自己完成

<input type="text" [(ngModel)]="admin.Name" [debounce]="500" (onchange)="updateField($event)" />