【问题标题】:click button from template Angular 6单击模板Angular 6中的按钮
【发布时间】:2019-07-25 20:40:35
【问题描述】:

我有这个功能:

 windowInfo_(marker, i, data) {
      '<div style="' + this.content_ + '">' +
      '<div>' +
      '<img [src]="' + "'" + this.image + "'" + '"' + ' style="' + this.image_ + '" alt="avatar">' +
      '</div>' +
      '<div style="' + this.details_ + '">' +
      '<div>' +
      '<h5 style="' + this.company_name + '">' + data.company_name + '</h5>' +
      '<i class="fa fa-map-marker" id="' + this.country_city + '">' + data.country + ',' + data.city + '</i>' +
      '</div>' +
      '</div>' +
      '</div>' +
      '<button class="' + this.footerListing + '" type="button" (click)="details(data.id_listing)">Explore Trips</button>'
}

details(id) {
    console.log(id)
}

如您所见,我在此模板中有一个按钮,我希望在单击它时触发details 函数。但是当我点击它时,什么都没有发生。我需要修改什么才能触发该功能?感谢您的宝贵时间!

【问题讨论】:

  • 你也可以分享TS吗?
  • @AliTurabAbbasi 这是我的 .ts
  • "如您所见,我在这个模板中有一个按钮,当我点击它时,会触发详细信息功能。但是当我点击它时,什么也没有发生。"。这句话毫无意义。
  • 确保您的 sn-p 正在页面上呈现

标签: html angular angular6


【解决方案1】:

您可以通过使用 HostListener 来做到这一点:- 只需将 id 分配给您的按钮(即&lt;button id="your_button_id"&gt;Click&lt;/button&gt;

现在使用 HostListener 来检测点击事件:-

@HostListener('click', ['$event'])
onClick(event) {
    if (event.target.id === 'your_button_id') {
        details(id);
    }
}

【讨论】:

  • 这行得通,但我怎样才能在这个onClick() 函数中从windowInfo_ 函数发送id
  • 我设法使用一个全局变量(在 windowInfo_ 中,我将当前 id 存储在这个全局变量中)做到了这一点,并将其发送到 onClick 函数。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-14
  • 1970-01-01
  • 2015-09-07
  • 2020-02-09
  • 1970-01-01
  • 2019-09-11
相关资源
最近更新 更多