简体   繁体   English

Angular2 onclick在ngfor中

[英]Angular2 onclick in ngfor

Trying to output a function call with click during ngFor. 在ngFor期间尝试通过单击输出函数调用。 I'm not sure how to reference it. 我不确定如何引用它。

I'm new to angualr2, and I'm not sure if this is the correct way to achieve this. 我是angualr2的新手,我不确定这是否是实现此目标的正确方法。 I would appreciate any advise. 我将不胜感激。

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>

that is a better way: 那是一个更好的方法:

    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>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM