2016-08-21 76 views
0

我有以下JSON对象:如何将点击事件绑定到角度为2的函数?

{Countries: [America, China, Russia, etc]} 

我在我的countries.component.ts(打字稿)为每个国家组件文件中定义的函数:

... 
America() { ... } 
China() { ... } 
Russia() { ... } 
etc 

假设我有一个ngFor我的组件模板遍历JSON对象。我希望能够以这种方式绑定点击事件:

<ul *ngFor="let country of Countries"> 
    <li> 
    <a (click)="{{country}}()" >{{country}}</a> 
    </li> 
</ul> 

当我点击“美国”它将会调用“America()”函数。

是否有绑定一个点击事件动态函数名(即使该功能在相应的组件类(即美国,中国,俄罗斯等静态定义的方式被定义)?

谢谢。提前为您的答复

回答

1

插值似乎不工作,你尝试过的方式 一个可能的解决问题的方法是给函数的自变量中*ngFor

代码:

import { Component } from '@angular/core'; 

@Component({ 
    selector: 'my-app', 
    template: ` 


    <ul *ngFor="let x of countries"> 
    <li> 
    <a (click)="doThis(x)" >{{x}}</a> 
    </li> 
</ul> 

    ` 
}) 
export class AppComponent { 
    constructor(){console.clear()} 



    public countries:any[]= ['America','China', 'Russia', 'Germany'] 



    doThis(x){ 


    console.log('life is life in '+ x) 
    } 



} 

Plunker

相关问题