Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ngfor中的Angular2 onclick_Javascript_Angular_Ngfor - Fatal编程技术网

Javascript ngfor中的Angular2 onclick

Javascript ngfor中的Angular2 onclick,javascript,angular,ngfor,Javascript,Angular,Ngfor,在ngFor期间尝试通过单击输出函数调用。我不知道如何引用它 我是Angual2的新手,我不确定这是否是实现这一目标的正确方法。如果您有任何建议,我将不胜感激 export class Navbar { constructor() {} public userNavs = [ { title: 'Account', click: 'account()' }, { title: 'Logout', click: 'logout()' }

在ngFor期间尝试通过单击输出函数调用。我不知道如何引用它

我是Angual2的新手,我不确定这是否是实现这一目标的正确方法。如果您有任何建议,我将不胜感激

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>
导出类导航栏{
构造函数(){}
公共用户导航=[
{title:'Account',单击:'Account()'},
{title:'Logout',单击:'Logout()'}
]
注销(){
console.log('working');
}
账户(){
console.log('working');
}
ngOnInit(){}
}
////HTML////
    {{nav.title}
这是一种更好的方法:

    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>
导出类导航栏{
构造函数(){}
公共用户导航=[
{title:'Account',单击:'Account()'},
{title:'Logout',单击:'Logout()'}
]
事件点击(用户导航){
如果('Account'),则为this.Account();
否则,请执行此操作。注销();
}
注销(){
console.log(“工作注销”);
}
账户(){
控制台日志(“工作帐户”);
}
ngOnInit(){}
}
////HTML////
    {{nav.title}

从您的描述和代码来看,您试图实现的目标确实不清楚,看起来很混乱。不要在输出属性中使用插值
(单击)
太棒了,这看起来好多了!谢谢