我最近开始使用角度材料,我正在努力/不确定打开/关闭mat菜单......我在角度材料文档网站的示例中看到,他们为菜单分配了一个id,然后将指令应用于用于切换菜单的按钮 . 例如 [matMenuTriggerFor]="menu"
我怎样才能编写一个指令呢?我不确定如何将对特定菜单的引用传递给指令,然后该指令在具有该ID的DOM元素上调用 toggle()
方法?
以下代码生成错误:
无法绑定到'matMenuTriggerFor',因为它不是'button'的已知属性 .
"exportAs"设置为"matMenu"没有指令 .
我的代码:
<li>
<button mat-icon-button [matMenuTriggerFor]="stockSystemMenu">
<mat-icon class="sn-item">
<i class="material-icons">archive</i>
</mat-icon>
</button>
<span class="sn-item" (click)="toggleMenu(stockSystemMenu)">Stok System</span>
<mat-menu #stockSystemMenu="matMenu">
<button mat-menu-item>
<mat-icon>
<i class="material-icons">chevron_right</i>
</mat-icon>
<span>Service 1</span>
</button>
</mat-menu>
</li>
2 回答
“您的代码是正确的,您不需要编写matMenuTriggerFor指令,它是API的一部分,请确保已将MatMenuModule,MatButtonModule和MatIconModule导入您的应用程序模块 . ” - 来自评论
有一些混乱,因为材料引入了一个突破性的变化,因为我理解它..见material 2 Changelog - Breaking Changes
从Material 2.0.0-beta.12开始 . 使用
mat
而不是md-*
..似乎只有material.angular.io的部分文档用mat更新 . 具体来说,如果您单击查看源并查看md
,我相信他们还没有用mat
替换它 .因此,要么更新到Material 2.0.0-beta.12并使用
mat-*
,要么使用md-*
.