angular - 在 nb 菜单项中使用 *ngIf
问题描述
如何*ngIf
在<nb-menu [items]="items">
菜单中使用?我有这样的东西
<nb-menu [items]="items"> </nb-menu>
在我的 .ts
items: NbMenuItem[] = [
{
title: 'Aliases',
icon: 'list-outline',
link: 'aliases'
},
{
title: 'Aliases to accept',
icon: 'checkmark-outline',
link: 'toAccept'
},
我只想为管理员授予“toAccept”访问权限
在我做这样的事情之前:
<li *ngIf="showForAdmin">
<a href="/toAccept" class="nav-link" routerLink="toAccept">
<nb-icon icon="checkmark-outline"></nb-icon>Aliases to accept
</a>
</li>
它工作正常
我怎样才能在星云中做类似的事情?
解决方案
您可以根据 .ts 文件中的变量添加所需的菜单项
import { USER_MENU_ITEMS } from './pages-menu';
import { NbMenuService, NbMenuItem } from '@nebular/theme';
export class PagesComponent {
menu = USER_MENU_ITEMS;
showForAdmin = true;
adminMenuItem: NbMenuItem[] = [
{
title: 'Admin',
group: true,
},
{
title: 'Management',
icon: 'browser-outline',
children: [
{
title: 'User Details',
link: '/path/users',
},
],
},
]
constructor( private nbMenuService: NbMenuService ) {
this.addAdminMenu(this.showForAdmin);
}
addAdminMenu(showForAdmin){
if (showForAdmin === true)
{
this.nbMenuService.addItems(this.adminMenuItem);
}
}
}
推荐阅读
- django - save() 不更新数据库中的表
- node.js - sequelize 中是否有更有效的批量更新方式?
- ruby-on-rails - Rails5.2 - Active Record .select() 在调用 .count 时导致错误
- android - PreferenceFragmentCompat 没有采用正确的 androidx PreferenceScreen
- arrays - 如何使用 object["key"] 方法访问对象值
- java - 在 Spring Security 之前使用 Spring Mobile 设备检测
- ios - 通过我的应用程序访问安装在我的 iphone 上的其他 .ipa 文件
- c# - 使用 PrincipalContext 验证凭据并查找用户组
- javascript - 安全文本输入文本到空间数组并清除输入
- sql - 如何选择不匹配