我有一个简单的menuitem数组,用于从prime填充tabmenu组件。看起来像这样:
.ts文件:

items = MenuItem[];
activeItem = MenuItem;

//constructor etc...

ngOnInit() {

    this.items = [
                {label: 'Homework', icon: 'fa-file-pdf-o'},
                {label: 'Movies', icon: 'fa-file-pdf-o'},
                {label: 'Games', icon: 'fa-file-pdf-o'},
                {label: 'Pictures', icon: 'fa-file-pdf-o'}
            ];
this.activeItem = this.items[2]
}

.html文件:
<p-tabMenu [model]="items" [activeItem]="activeItem"></p-tabMenu>

我知道我可以在active item的帮助下设置tabmenu的activeitem,如下所示:
this.activeItem = this.items[2]

我现在的问题是我是否可以在单击时检索activeitem?例如
<p-tabMenu [model]="items" [activeItem]="activeItem" (click)="getActiveItem(...)"></p-tabMenu>

getactiveitem方法:
getActiveItem(activeItem: MenuItem){
    this.activeItem = activeItem;
    console.log(activeItem);
    return this.activeItem;
  }

从primering链接到tabmenu。CLICK

最佳答案

您应该能够使用command,因为选项卡是menumodel api的一部分
单击项时要调用的函数是使用
命令属性。

this.items = [
   ...
  {label: 'Pictures', icon: 'fa-file-pdf-o', command: (event) => {
    //event.originalEvent: Browser event
    //event.item: menuitem metadata
  }}
];

10-04 15:22