ngfor 中的 Angular2 onclick
Angular2 onclick in ngfor
尝试在 ngFor 期间通过单击输出函数调用。我不确定如何引用它。
我是 angualr2 的新手,我不确定这是否是实现此目的的正确方法。如果有任何建议,我将不胜感激。
export class Navbar {
constructor() {}
public userNavs = [
{ title: 'Account', click: 'account()' },
{ title: 'Logout', click: 'logout()' }
]
logout() {
console.log('working');
}
account(){
console.log('working');
}
ngOnInit() {}
}
////HTML////
<ul class="dropdown-menu dropdown-menu-right" aria-labelledby="userdropdown">
<li *ngFor="let nav of userNavs" ><a class="dropdown-item btn-sm" (click)="{{ nav.click }}" >{{ nav.title }}</a></li>
</ul>
这是更好的方法:
export class Navbar {
constructor() {}
public userNavs = [
{ title: 'Account', click: 'account()' },
{ title: 'Logout', click: 'logout()' }
]
eventClick(userNav){
if('Account') this.account();
else this.logout();
}
logout() {
console.log('working logout');
}
account(){
console.log('working account');
}
ngOnInit() {}
}
////HTML////
<ul class="dropdown-menu dropdown-menu-right" aria-labelledby="userdropdown">
<li *ngFor="let nav of userNavs" ><a class="dropdown-item btn-sm" (click)="eventClick(nav)" >{{ nav.title }}</a></li>
</ul>
尝试在 ngFor 期间通过单击输出函数调用。我不确定如何引用它。
我是 angualr2 的新手,我不确定这是否是实现此目的的正确方法。如果有任何建议,我将不胜感激。
export class Navbar {
constructor() {}
public userNavs = [
{ title: 'Account', click: 'account()' },
{ title: 'Logout', click: 'logout()' }
]
logout() {
console.log('working');
}
account(){
console.log('working');
}
ngOnInit() {}
}
////HTML////
<ul class="dropdown-menu dropdown-menu-right" aria-labelledby="userdropdown">
<li *ngFor="let nav of userNavs" ><a class="dropdown-item btn-sm" (click)="{{ nav.click }}" >{{ nav.title }}</a></li>
</ul>
这是更好的方法:
export class Navbar {
constructor() {}
public userNavs = [
{ title: 'Account', click: 'account()' },
{ title: 'Logout', click: 'logout()' }
]
eventClick(userNav){
if('Account') this.account();
else this.logout();
}
logout() {
console.log('working logout');
}
account(){
console.log('working account');
}
ngOnInit() {}
}
////HTML////
<ul class="dropdown-menu dropdown-menu-right" aria-labelledby="userdropdown">
<li *ngFor="let nav of userNavs" ><a class="dropdown-item btn-sm" (click)="eventClick(nav)" >{{ nav.title }}</a></li>
</ul>