检查ACL访问后,需要根据"routerLink"隐藏菜单中的链接.我不想在app中的每个元素链接上使用angular指令"*ngIf"(需要在routerConfig定义上做全局)
内容可以在组件上使用注释@CanActivate进行控制,但需要隐藏菜单中的链接
我试着用覆盖"routerLink"指令来做,但是在这个指令中,覆盖后无法访问我在routerConfig中定义的扩展参数(资源和特权)
例:
@Component({})
@RouteConfig([{
path: '/dashboard',
name: 'Dashboard',
component: DashboardComponent,
data: {'resource':'account', 'privilage':'show'}
}])
Run Code Online (Sandbox Code Playgroud)
但无法访问"routerLink"中的此配置数据(routerData).
有些想法怎么做?
第二版
多级菜单和stiil在从routerConfig定义访问(扩展数据配置)时遇到问题.
主要成分
@RouteConfig([
{ path:'/dashboard', name: 'DashboardLink', component: DashboardComponent, data: { res: 'dasboard', priv: 'show'}, useAsDefault: true },
{ path:'/user/...', name: 'UserLink', component: UserComponent, data: { res: 'user', priv: 'show'} },
])
@Component({
selector: 'main-app',
template: `
<ul class="left-menu">
<li><a secured [routerLink]="['UserLink']">User</a>
<ul>
<li><a secured [routerLink]="['ProfileLink']">Profile</a></li>
</ul>
</li>
<li><a secured [routerLink]="['HomeLink']">Home</a></li> …Run Code Online (Sandbox Code Playgroud)