【问题标题】:How to render list of items inside Mat-Menu Angular/material2如何在 Mat-Menu Angular/material2 中渲染项目列表
【发布时间】:2018-01-17 12:13:01
【问题描述】:

回到materialc1,我能够在我的材质菜单中呈现一个按钮列表,如下所示:

  <md-menu>
  <md-button ng-click="vm.openMenu($mdMenu, $event)">     
     <md-icon md-svg-icon="extraIcons:toolbox" aria-label="Toolbox"></md-icon>
  </md-button>
  <md-menu-content>
    <md-menu-item ng-repeat="hi in vm.ListofPizza">          
     <md-button ng-click="vm.orderPizza(hi.id)">                        
         {{hi.name}}          
    </md-button>            
  </md-menu-item>
 </md-menu-content>

我正在尝试在 material2/angular2 中做同样的事情,如下所示:

<button mat-fab color="primary" [matMenuTriggerFor]="menu">
<mat-icon svgIcon="extraIcons:toolbox">
</mat-icon>   
</button>
<mat-menu #menu="matMenu">
<mat-menu-item *ngFor="let hi ofListofPizza">                 
<button mat-button> {{hi.name}}</button>
</mat-menu-item>

但是这给了我下面提到的错误:

一个元素上不能有多个模板绑定。只使用一个 名为“模板”或以 * 为前缀的属性 ("

menu="matMenu">

我做错了什么?

【问题讨论】:

  • 那个语法好像不正确,应该是:*ngFor="let hi of ListofPizza"
  • 你应该使用[mat-menu-item]属性而不是[mat-button]
  • @Edric 我需要使用列表中的名称呈现按钮
  • @Und3rTow 我做了更改,但仍然无法正常工作
  • @pankaj 你能检查一个属性ofListofPizza 是否存在于你的组件代码中吗?

标签: angular angular-material2


【解决方案1】:

应该是这样的。

<mat-menu #menu="matMenu">
  <button mat-menu-item *ngFor="let item of ofListofPizza">
    {{ item.text }}
  </button>
</mat-menu>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 2019-06-16
    • 2018-10-06
    • 2012-10-20
    相关资源
    最近更新 更多