如何在 Angular 2 中获取当前元素的引用?

问题描述 投票:0回答:3
javascript angular ionic-framework ionic2
3个回答
5
投票

您可以在模板中使用引用变量

<ion-item-sliding #iis *ngFor="let activity of activities" (click)="showModalInfo(activity)" (ionDrag)="itemDragged(iis)">
<p>{{iis.class}}</p>

0
投票

您会使用 ViewChild 并获取 nativeElement 吗?

在组件API中,请注意,关键是如何在代码中访问它,传递给ViewChild的值是您为组件提供的“#”id(这是ES6,在TS中您将使用ViewChild注释) :

...
queries { 'myElement' : new ViewChild ( 'myelement' ) }
...

在标记中:

<div #myelement></div>

在您的组件函数(处理程序,无论您需要在何处获取它)中,nativeElement 属性都会为您提供对 HTML 元素的引用,因此您可以设置innerHTML、添加处理程序或您需要执行的任何其他操作。当然,还有其他方法可以通过绑定到属性来实现此目的(例如,您可以绑定到 (click) 或 [innerHTML]):

...
this.myElement.nativeElement... // etc.
...

或者,如果您想对多个元素(例如,一堆不同的可点击 div)使用单个处理程序,您可以使用 event.target 来做同样的事情。问题是,因为现在提供 ID 被认为是“不好的”,所以您必须有一种替代方法来识别哪个 DIV 被点击。您可以检查标签(innerHTML),您可以给它一个虚拟样式并检查等等。


-1
投票

但是深入研究事件类,你可以得到这样的类

  itemDragged(event){
    console.log(event._elementRef.nativeElement.className);
  }
© www.soinside.com 2019 - 2024. All rights reserved.