1

我希望单击的 div 内容出现在另一个 div 内(通过插值)。但是当我点击一个 div 时 - 我的“视图” div 里面什么都没有出现。请看下面我的代码:

@Component({
selector: 'my-app',
template: `
<div class="wrap">
  <div (click)="clicked($event)">
    <h2>Hello {{name}}</h2>
  </div>
  <div (click)="clicked($event)">
    <h2>Hello {{year}}</h2>
  </div>
  <div (click)="clicked($event)">
    <h2>Hello {{surname}}</h2>
  </div>
  <div (click)="clicked($event)">
    <h2>Hello {{country}}</h2>
  </div>
  <div (click)="clicked($event)">
    <h2>Hello {{cartoon}}</h2>
  </div>
</div>

<div class="view">
  {{target}}
</div>

  `,
})
export class App {
  name:string;
  year: string;
  surname: string;
  country: string;
  cartoon: string;


  clicked(event) {
    var target = event.target;
  }


constructor() {
this.name = 'Angular2'
 this.year = '1989'
  this.surname = 'Connor'
   this.country = 'USA'
    this.cartoon = 'Tom & Jerry'
  }



}

它没有按预期工作。 这是我的 Plunker 示例

我的代码有什么问题?

4

1 回答 1

1

与模板的绑定是使用this. 您正在将事件绑定到局部变量。所以你的班级应该是这样的:

export class App {
  name:string;
  year: string;
  surname: string;
  country: string;
  cartoon: string;
  element: any;
  target:any;

  clicked(event) {
    this.target = event.target.innerText;
  }

更新的 plunker:https ://plnkr.co/edit/cnA0nGTjdsHGqCKWTQ7c?p=preview

于 2017-01-20T19:31:30.427 回答