首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >invokeElementMethod在Renderer2角

invokeElementMethod在Renderer2角
EN

Stack Overflow用户
提问于 2020-03-29 07:57:41
回答 2查看 1.9K关注 0票数 4

上下文角计划

我有以下片段:

代码语言:javascript
复制
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中的替代方法是什么

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-29 09:01:25

试试这个:

代码语言:javascript
复制
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);
  }
}
票数 1
EN

Stack Overflow用户

发布于 2020-03-29 08:09:40

迁移指南中看,下面的替换应该可以工作

代码语言:javascript
复制
(this._el.nativeElement as any)['dispatchEvent'].apply(this._el.nativeElement, [event]);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60911498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档