可以将id从模板传递给函数(AngulasJS2)

时间:2016-02-11 14:51:58

标签: angular

可以将模板中id的值传递给函数(AngulasJS2)。

Margin

现在我正在使用它并且有效,

 template: `
  <div class="container" *ngFor="#mov of movs">
  ..//
  <button class="btn btn-primary" type="button"
  ..//
  (click)="test(id)" [id]="mov"
  > 
  ..//

  ..//
  test(id: string) {
  //test
  var logo1: HTMLElement = document.getElementById(id);
  ..//
  }

但是这段代码不起作用。

 (click)="test(''+mov)" [id]="mov"

对不起我的英文

2 个答案:

答案 0 :(得分:2)

当你添加像#elem这样的模板变量时(在本机DOM元素上,不是Angular组件或带有指令的元素),你可以使用它作为元素的引用,然后从中获取id元素(elem.id)。

<div class="container" *ngFor="let mov of movs" >
  ..//
  <button class="btn btn-primary" type="button" #elem
  ..//
    (click)="test(elem.id)" [id]="mov"

答案 1 :(得分:0)

您也可以这样做:

<div class="container" *ngFor="let mov of movs" >
..//
  <button class="btn btn-primary" type="button" 
 ..//
    (click)="test(mov)" [id]="mov">

plunker链接:https://plnkr.co/edit/iFRJI8perdwmWpZoBcvW?p=preview