mdMenu在角度材料版本中不起作用:2.0.0-beta.11

时间:2017-09-30 09:51:15

标签: angular angular-material2

此代码出了什么问题:

<button md-button [mdMenuTriggerFor]="menu">Menu</button>
<md-menu #menu="mdMenu">
  <button md-menu-item>Item 1</button>
  <button md-menu-item>Item 2</button>
</md-menu>

我收到了错误:

  

模板解析错误:没有设置“exportAs”的指令   “mdMenu”(“

     

菜单] #codes =“mdMenu”&gt;第1项   第2项“):   NG:///UserModule/UserRegistrationComponent.html@113:9

编辑:1

我也试试这个:

<button mat-button [matMenuTriggerFor]="menu">Menu</button>
<mat-menu #menu="matMenu">
  <button mat-menu-item>Item 1</button>
  <button mat-menu-item>Item 2</button>
</mat-menu>

我收到了这个错误:

  

模板解析错误:没有设置“exportAs”的指令   “matMenu”(“

     

菜单] #code =“matMenu”&gt;第1项   第2项“):   NG:///UserModule/UserRegistrationComponent.html@113:10

编辑:2

我的进口商品:

import {
  MatMenuModule,
  MatButtonModule
} from '@angular/material';

编辑:3

我的user.module

import { NgModule } from '@angular/core';

import { SharedModule } from '../../shared/shared.module';
import { UserRoutingModule } from './user-routing.module';
import { UserService } from './user.service';

// material
import {
  MatCardModule,
  MatMenuModule,
  MatInputModule,
  MatButtonModule,
  MatCheckboxModule
} from '@angular/material';

import { UserComponent } from './user.component';
import { UserProfileComponent } from './user-profile/user-profile.component';
import {
  UserRegistrationComponent
} from './user-registration/user-registration.component';
import {
  UserRestorePasswordComponent
} from './user-restore-password/user-restore-password.component';

@NgModule({
  imports: [
    SharedModule,
    UserRoutingModule,
    MatCardModule,
    MatMenuModule,
    MatInputModule,
    MatButtonModule,
    MatCheckboxModule
  ],
  declarations: [
    UserComponent,
    UserProfileComponent,
    UserRegistrationComponent,
    UserRestorePasswordComponent
  ],
  providers: [
    UserService
  ]
})
export class UserModule { }

这是我的user.registration.component.html

<button mat-button [matMenuTriggerFor] = "menu">Menu</button>
<mat-menu #menu = "matMenu">
  <button mat-menu-item>Item 1</button>
  <button mat-menu-item>Item 2</button>
</mat-menu>

1 个答案:

答案 0 :(得分:1)

问题在于您的角度版本。将角度版本更新为4.4.3或更高版本。材料2.0.0-beta.11取决于4.4.3或更高。来自CHANGELOG文档:

  

突破变化   Angular Material现在需要Angular 4.4.3或更高版本

链接到working demo