【问题标题】:Angular 2 dynamic component click eventAngular 2 动态组件点击事件
【发布时间】:2017-04-05 04:04:30
【问题描述】:

我正在尝试动态创建组件,但我想为其添加点击操作,但我不知道如何操作。我试图这样做:

  constructor(public navCtrl: NavController, private resolver: ComponentFactoryResolver) {
    this.lastSelectedResource = this.defaultImage;
  }

  public createNew() {
    this.container.detach(0);
  }

  ngAfterContentInit() {
    let widgetFactory = this.resolver.resolveComponentFactory(CreateComponent);
    let widgetReference = this.container.createComponent(widgetFactory);
    widgetReference.instance.click = this.createNew;
  }

但不是那样做的。有人知道怎么做吗?

【问题讨论】:

    标签: javascript angular components


    【解决方案1】:

    可以注入渲染器并使用

    this.renderer.listen(widgetReference.location.nativeElement, 'click', (event) => { this.createNew(e);});
    

    类似于Angular2 - catch/subscribe to (click) event in dynamically added HTML

    (widgetReference.location 提供ElementRef)

    【讨论】:

    • 谢谢你,这是我正在寻找的解决方案! :D
    猜你喜欢
    • 2018-02-02
    • 2021-09-03
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    • 2019-08-19
    相关资源
    最近更新 更多