上下文角计划
我有以下片段:
export class OnlyNumberDirective {
constructor(private _el: ElementRef,private renderer:Renderer2) {
}
@HostListener('input', ['$event']) onInputChange(e) {
this.renderer.invokeElementMethod(this._el.nativeElement, 'dispatchEvent', [event]);
}
}它使用Renderer,但是它被废弃了,现在我们有Renderer2了吗?
invokeElementMethod方法在Renderer2中的替代方法是什么
发布于 2020-03-29 09:01:25
试试这个:
export class OnlyNumberDirective {
constructor(private _el: ElementRef) {
}
@HostListener('input', ['$event']) onInputChange(e) {
let event: Event = document.createEvent("Event");
event.initEvent('input', true, true);
Object.defineProperty(event, 'target', { value: this._el.nativeElement, enumerable: true });
this._el.nativeElement.dispatchEvent(event);
}
}发布于 2020-03-29 08:09:40
从迁移指南中看,下面的替换应该可以工作
(this._el.nativeElement as any)['dispatchEvent'].apply(this._el.nativeElement, [event]);https://stackoverflow.com/questions/60911498
复制相似问题