我的指令设置如下:
import {Directive, ElementRef, Output, EventEmitter, OnInit, Input} from '@angular/core';
import {Observable} from "rxjs/Rx";
import 'rxjs/add/observable/fromEvent';
@Directive({
selector: '[datepicker]'
})
export class DatepickerDirective implements OnInit{
@Output() changeDate:EventEmitter<any>= new EventEmitter<any>();
constructor(private elementRef:ElementRef) {
const eventStream = Observable.fromEvent(this.elementRef.nativeElement, 'focusout')
.debounceTime(300);
eventStream.subscribe(input =>
{
//console.log("//////// subscription");
this.changeDate.emit({targetControl:this.targetControl, targetValue:elementRef.nativeElement.value});
});
}
}
这适用于VSCode / Chrome。没有错误。但是在Firefox和Webstorm中不起作用会显示一个错误,说“未解决的功能”#39;对于fromEvent
。 Firefox没有运行subscribe语句。关于我可能做错了什么的任何建议?谢谢!
答案 0 :(得分:0)
对措辞不佳的问题道歉。
将focusout
更改为blur
修复它。 Webstorm仍然显示 fromEvent
的错误,但现在可以在所有浏览器中使用
Observable.fromEvent(this.elementRef.nativeElement, 'blur')