angular - Angular 4+ 有条件地渲染 mat-menu(所有或部分 mat 菜单选项)
问题描述
你好,
我正在渲染一个垫子表,每行都有一个显示垫子菜单的日食(3个点)。现在,点击的每一行都显示相同的菜单选项说
- 清单项目 1
- 清单项目 2
- 清单项目 3
我的行有其他数据,我想使用所述数据来显示所有列表项或一些。
我尝试在 mat-menu 选项之一中使用 ngIf,但没有雪茄
<mat-menu #menu="matMenu" >
<ng-template matMenuContent let-someId="someId" let-eventOtherId="eventitherId" let-testcondition="condition">
<a href="" *ngIf="testcondition === 'some item'" mat-menu-item [routerLink]="[]">
<mat-icon>info</mat-icon>
<span>List Item 1</span>
</a>
<button mat-menu-item (click)="openDialog([someId])">
<mat-icon>save_alt</mat-icon>
<span>List Item 2</span>
</button>
<button mat-menu-item (click)="openDialog([someId])">
<mat-icon>add</mat-icon>
<span>List Item 3</span>
</button>
</ng-template>
</mat-menu>
所以理想情况下,如果 testcondition === 'some item' 我想显示列表项 1,如果 testcondition === 'some other item' 则呈现列表项 2
编辑:在挖掘了更多之后,事实证明let-testcondition="condition"不会评估任何东西。testcondition 应该有一个与之关联的值(来自我可以在控制台中看到的条件属性),但在 ng-container 中没有 testcondition 的值,即使 someId 和 eventOtherId 有一个值。非常感谢在模板中使用 let 变量的任何帮助
解决方案
推荐阅读
- python - Better way to return count rather than using globals
- xcuitest - XCUITest 元素快照无法闪烁光标
- android - Xamarin 表单中的 Android 项目
- html - html5中有视频比特率的命令吗?
- java - 面板的坐标规范
- javascript - amCharts 4 CDN 网络::ERR_FILE_NOT_FOUND
- swift - Swift 4 中的多线程 for 循环
- maven - 如何在不同的阶段从 maven 构建 2 个 docker 映像?
- kendo-ui - Telerik KendoUI Angular 折线图未反映图例中的 dashType
- javascript - 尽管映射正确,Node/ Express Rest API 仍继续进入相同的控制器功能