我必须从数据库返回菜单列表:
<li *ngFor="let op of optionList">
<!-- <fa-icon [icon]="op.icon"></fa-icon> -->
<label (click)='op.routeFunctionName()'>{{op.optionName}}</label>
</li>
this:op.routeFunctionName()
使用路由的功能名称。
路由:
GoRoleManager(){
this.router.navigate(['panel/dashboard/'+this.userName+'/role'])
}
但是当我单击菜单时,它向我显示此错误:
错误TypeError:_v.context。$ implicit.routeFunctionName不是函数
出什么问题了?我该如何解决这个问题?
答案 0 :(得分:1)
我认为您已将JS代码保存在routeFunctionName
中并尝试调用它。这只是纯文本。如果您想这样做,可以使用eval
进行,但不推荐。
更新(请参阅评论)
如果要通过字符串变量调用函数,则应这样编写:
<label (click)='this[op.routeFunctionName]()'>{{op.optionName}}</label>