Angular 菜单项和子菜单项的启动面板菜单活动状态?

Angular 菜单项和子菜单项的启动面板菜单活动状态?,angular,primeng,Angular,Primeng,我使用的是Angular 7和Priming版本“7.1.0-rc.1”。 目前我正在尝试集成PanelMenu组件,但无法设置活动选项卡的样式,因为routerLinkActive不可用。有没有其他方法可以达到同样的效果。 谢谢你首先: 您可以通过向子项对象添加routerLinkActiveOptions:{exact:true}使子菜单项处于活动状态,这将使它们在您单击其中一个或甚至更改路由时处于活动状态: items: [ { label: 'View Branches',

我使用的是Angular 7和Priming版本“7.1.0-rc.1”。 目前我正在尝试集成PanelMenu组件,但无法设置活动选项卡的样式,因为routerLinkActive不可用。有没有其他方法可以达到同样的效果。 谢谢你首先: 您可以通过向子项对象添加
routerLinkActiveOptions:{exact:true}
使子菜单项处于活动状态,这将使它们在您单击其中一个或甚至更改路由时处于活动状态:

items: [
  {
    label: 'View Branches',
    icon: 'pi pi-fw pi-pencil',
    routerLink: ['/pages/settings/branches'],
    routerLinkActiveOptions: { exact: true }
  },
  {
    label: 'Add Branch',
    icon: 'pi pi-fw pi-tags',
    routerLink: ['/pages/settings/branches/add/0'],
    routerLinkActiveOptions: { exact: true }
  }
]
秒: 您可以使用我计算出的变通方法使父项(切换项)处于活动状态,方法是给它们
expanded:true
expanded属性将更改父项的状态

您还可以通过调用返回true或false的函数,在激活的路由更改时使其成为动态的:

{
   label: 'General Settings',
   icon: 'pi pi-pw pi-file',
   routerLink: ['/pages/settings/general'],
   expanded: this.checkActiveState('/pages/settings/general')
}
checkActiveState
函数使用角度路由器检查当前活动路由,如果它与给定url匹配,则返回True,并且父扩展属性将父状态更改为活动:

constructor(private router: Router) {}

checkActiveState(givenLink) {
  console.log(this.router.url);
  if (this.router.url.indexOf(givenLink) === -1) {
    return false;
  } else {
    return true;
  }
}
您还可以在没有child项的菜单项上使用该方法,因为
expanded:true
属性也会使它们处于活动状态


如何以编程方式设置活动菜单项?单击菜单项后,我不想更改网站路径。。。单击后,我想调用某个方法。。。