Rol*_*ndo 5 material megamenu angular-material2 angular
我真的想要整合angular2材质,注意以下菜单示例:
https://material.angularjs.org/1.1.4/demo/menuBar
Run Code Online (Sandbox Code Playgroud)
这是一个美女:http://codepen.io/anon/pen/zrdQwP
我喜欢你可以使用嵌套菜单,但是对于Angular 2/4演示,你看到的只有:
https://material.angular.io/components/component/menu
Run Code Online (Sandbox Code Playgroud)
嵌套菜单没有示例!这是否可以使用Angular2 + Material?如果是这样,有人可以演示如何使用它吗?或者这是不可能的?如果Angular 2/4不能支持这个,而Angular 1.x可以...
yur*_*zui 14
更新:
在加入这个功能2.0.0 beta.10剪纸,潘加朱姆
以前的版本:
它计划在未来https://github.com/angular/material2/issues/1429
但现在我怀疑它是可能的.这是我的Plunker Material2菜单示例,演示了这样的菜单
<ng-container *ngFor="let item of items">
<button md-button [mdMenuTriggerFor]="menu" #trigger="mdMenuTrigger" [attr.data-level]="1" (mouseenter)="openMenu(trigger, 1)">
{{item.text}}
</button>
<md-menu class="custom-menu" #menu="mdMenu" [overlapTrigger]="false" (close)="closeMenu()" xPosition="after">
<ng-container *ngTemplateOutlet="subMenu; context: { $implicit: item.items, level: 2 }"></ng-container>
</md-menu>
</ng-container>
<ng-template #subMenu let-items let-level="level">
<ng-container *ngFor="let item of items">
<ng-container *ngIf="item.items && item.items.length else simpleTmpl">
<button *ngIf="!item.divider" md-menu-item [disabled]="item.disabled"
[mdMenuTriggerFor]="menu"
#trigger="mdMenuTrigger"
[attr.data-level]="level"
(mouseenter)="openMenu(trigger, level);" (click)="$event.stopPropagation()">
<span>{{item.text}}</span>
<span *ngIf="item.extraText">{{item.extraText}}</span>
<md-icon *ngIf="item.icon">{{item.icon}}</md-icon>
</button>
<md-menu class="sub-menu" #menu="mdMenu" [overlapTrigger]="false" xPosition="before" >
<ng-container *ngTemplateOutlet="subMenu; context: { $implicit: item.items || [], level: level + 1 }"></ng-container>
</md-menu>
<md-divider *ngIf="item.divider" class="mat-divider"></md-divider>
</ng-container>
<ng-template #simpleTmpl>
<button *ngIf="!item.divider" md-menu-item [disabled]="item.disabled" (click)="closeMenu()">
<span>{{item.text}}</span>
<span *ngIf="item.extraText">{{item.extraText}}</span>
</button>
<md-divider *ngIf="item.divider" class="mat-divider"></md-divider>
</ng-template>
</ng-container>
</ng-template>
Run Code Online (Sandbox Code Playgroud)
您只需要声明项目定义:
menuItems = [
{
text: 'File',
items: [
{
text: 'Share'
},
{
text: 'New',
icon: 'arrow_right',
items: [
{
text: 'Document'
},
{
text: 'Form'
}
]
},
{
text: 'Print',
extraText: 'Ctrl+P'
}
]
},
{
text: 'Edit',
}
];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4134 次 |
| 最近记录: |