在 angular 中绑定注销方法

Binding a logout method in angular

我正在尝试将注销功能绑定到动态填充的菜单项,当有人单击注销时,它会注销用户。我已经尝试了以下代码,但似乎没有用。

这是我的 component.ts 文件

usermenu: Object[] = [ {
    icon: 'tune',
    route: '/dashboard/settings',
    title: 'Account settings'
  }, {
    icon: 'exit_to_app',
    route: '',
    title: 'Sign out',
    method: 'logout()'
  },
];

logout(){
  //my code
}

我的template.html

  <md-nav-list>
    <a *ngFor="let item of usermenu" [routerLink]="item.route" md-list-item (click)="item.method" ><md-icon>{{item.icon}}</md-icon>{{item.title}}</a>
  </md-nav-list>

例如,当我点击帐户设置时,它会重定向到设置评论,在这种情况下这很简单。对于注销,它不是一个组件,而是我创建的一个方法 logout()。我正在寻找可以将其绑定到路由的方法,单击它会将用户注销。

看这里:

http://plnkr.co/edit/UWLgn5B6ADLc26mgHWDb?p=info

我修改了:

usermenu: Object[] = [ {
    icon: 'tune',
    route: '/dashboard/settings',
    title: 'Account settings',
method: ()=>{}
  }, {
    icon: 'exit_to_app',
    route: '',
    title: 'Sign out',
    method: this.logout
  },
];

并在模板中:

<a *ngFor="let item of usermenu" [routerLink]="item.route" md-list-item (click)="item.method()" >
          <md-icon>{{item.icon}}</md-icon>
          {{item.title}}
        </a>

所以基本上你必须为每个没有操作的 link 添加一个默认箭头函数,我认为 inst 真的很聪明,但它确实有效。