【问题标题】:Can't bind to 'mdMenuTriggerFor' since it isn't a known property of 'button' [duplicate]无法绑定到“mdMenuTriggerFor”,因为它不是“按钮”的已知属性 [重复]
【发布时间】:2019-03-11 01:12:51
【问题描述】:

使用 ng serve 运行我的 Angular 应用程序时出现此错误:

Can't bind to 'mdMenuTriggerFor' since it isn't a known property of 'button'

我已经导入了所有需要的东西,所以我不明白为什么会这样。

module.ts:

.......
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { BrowserModule } from '@angular/platform-browser';
import { MyDialogComponent } from './components/my-dialog/my-dialog.component';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { MatDialogModule, MatButtonModule, MatCheckboxModule, MatToolbarModule, MatInputModule, MatProgressSpinnerModule, MatCardModule, MatIconModule } from '@angular/material';
import { MatMenuModule} from '@angular/material/menu';
import 'hammerjs';

@NgModule({
  declarations: [
    AppComponent,
    HeaderComponent,
    FooterComponent,
    MainComponent,
    MyDialogComponent
  ],
  imports: [
    BrowserModule,
    HttpClientModule,
    BrowserAnimationsModule,
    ReactiveFormsModule,
    FormsModule,
    MatDialogModule, MatButtonModule, MatCheckboxModule, MatToolbarModule, MatInputModule, MatProgressSpinnerModule, MatCardModule, MatMenuModule, MatIconModule
  ],
  entryComponents: [MyDialogComponent],
  providers: [DataService],
  bootstrap: [AppComponent]
})
export class AppModule { }

html:

<mat-toolbar>My App


  <span class="spacer"></span>
  <button md-icon-button [mdMenuTriggerFor]="menu">
      <md-icon>more_vert</md-icon>
    </button>

</mat-toolbar>

出现此错误的任何原因?我的意思是,正如您所见,所有内容都已导入,那么为什么它不能按应有的方式运行呢?

【问题讨论】:

    标签: javascript angular angular-material


    【解决方案1】:

    如果您使用最新的 @angular/material 依赖项,则应将其替换为 matMenuTriggerFormdMenuTriggerFor 已弃用):

    <button mat-icon-button [matMenuTriggerFor]="menu">
       <mat-icon>more_vert</mat-icon>
    </button>
    

    当然还有导入你的模块

    import {MatMenuModule} from '@angular/material/menu';
    

    并将其添加到 imports 块中。

    https://material.angular.io/components/menu/api

    【讨论】:

      【解决方案2】:

      如果您使用的是更新版本的角度和材质,则名称已更改。 mdMenuTriggerFor 已变为 matMenuTriggerFor 等,即基本上 md 到处都被 mat 取代。您在此处的示例将显示为 ...

      <button mat-icon-button [matMenuTriggerFor]="menu"> <mat-icon>more_vert</mat-icon> </button>

      如果您使用的是旧版本的 Angular/Materials,也许您没有将菜单模块从材料导入到您的项目中?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-25
        • 2021-12-02
        • 2017-02-05
        • 1970-01-01
        • 1970-01-01
        • 2017-03-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多