我需要将数据从表行元素传递到菜单,但它只发送undefined
数据。 我像这样使用matMenuTriggerData
:
<ng-container matColumnDef="execute">
<th mat-header-cell fxFlex="8%" fxLayoutAlign="start center" *matHeaderCellDef></th>
<td mat-cell fxFlex="8%" fxLayoutAlign="start center" *matCellDef="let element">
<button mat-icon-button [matMenuTriggerFor]="menu" [matMenuTriggerData]="element">
<i class="material-icons" style="color: #368852">cloud_download</i>
</button>
</td>
</ng-container>
和菜单:
<mat-menu #menu="matMenu">
<ng-template matMenuContent let-aliasMenuItems="element">
<button mat-menu-item (click)="cl(aliasMenuItems)">
<mat-icon>dialpad</mat-icon>
<span>Redial</span>
</button>
....
</mat-menu>
如果你想在斯塔克闪电战中看到
你应该传递这样的数据
[matMenuTriggerData]="{element: element}"
,如果你想要所有的物品。因为当你 访问像let-aliasMenuItems="element"
这样的变量,你是 尝试访问变量的值而不是变量
如果你想访问变量的值,这是priorityIndex
那么你可以做这样的事情
[matMenuTriggerData]="element"
和
let-aliasMenuItems="priorityIndex"
工作堆栈闪电战示例
在内容中
<ng-container matColumnDef="execute">
<th mat-header-cell fxFlex="8%" fxLayoutAlign="start center" *matHeaderCellDef></th>
<td mat-cell fxFlex="8%" fxLayoutAlign="start center" *matCellDef="let element">
<button mat-icon-button [matMenuTriggerFor]="menu" [matMenuTriggerData]="{element: element}">
<i class="material-icons" style="color: #368852">cloud_download</i>
</button>
</td>
</ng-container>
和菜单:
<mat-menu #menu="matMenu">
<ng-template matMenuContent let-aliasMenuItems="element">
<button mat-menu-item (click)="cl(aliasMenuItems)">
<mat-icon>dialpad</mat-icon>
<span>Redial</span>
</button>
....
</mat-menu>