首页 文章

如何打开/关闭角度材质菜单

提问于
浏览
2

我最近开始使用角度材料,我正在努力/不确定打开/关闭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 回答

  • 6

    “您的代码是正确的,您不需要编写matMenuTriggerFor指令,它是API的一部分,请确保已将MatMenuModule,MatButtonModule和MatIconModule导入您的应用程序模块 . ” - 来自评论

  • 3

    有一些混乱,因为材料引入了一个突破性的变化,因为我理解它..见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-* .

相关问题