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