如何将点击事件绑定到角度为2的函数?
问题描述:
我有以下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()”函数。
是否有绑定一个点击事件动态函数名(即使该功能在相应的组件类(即美国,中国,俄罗斯等静态定义的方式被定义)?
谢谢。提前为您的答复
答
插值似乎不工作,你尝试过的方式 一个可能的解决问题的方法是给函数的自变量中*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)
}
}