尽管导入了所有内容,但无法绑定到 'matDatePicker',因为它不是 'input' 的 属性

Cannot bind to 'matDatePicker' since isn't property of 'input', despite importing everything

我正在尝试将一个非常基本的日期选择器集成到我的 Angular 项目中。 Angular CLI 版本为 6.2.9。

我的 HTML 直接取自 Angular 文档。

<mat-form-field appearance="fill">
    <mat-label>Choose a date</mat-label>
    <input matInput [matDatepicker]="picker">
    <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
    <mat-datepicker #picker></mat-datepicker>
</mat-form-field>

这返回了一个错误说

无法绑定到 'matDatepicker',因为它不是 'input'

的已知 属性

快速搜索后,我发现 告诉我要包含一些导入,我将以下内容添加到我的 TS 代码的最顶部。

import { MatNativeDateModule, MatDatepickerModule,  } from '@angular/material';

@NgModule({
  declarations: [
    HomeComponent
  ],
  imports: [
    MatDatepickerModule,
    MatNativeDateModule,
    FormsModule,
    ReactiveFormsModule
  ]
})

尽管如此,我仍然收到完全相同的错误消息。我忘记了 TS 文件中的其他内容吗?我必须在 'export class' 之后添加一些内容吗?还是这种类型的操作与我的 Angular 版本不兼容?感谢任何帮助。

您是否尝试过将 material 模块导入更改为此?

import {MaterialModule} from '@angular/material';
@NgModule({

imports: [
    MdDatepickerModule,        
    MdNativeDateModule,
    FormsModule,
    ReactiveFormsModule
  ]
})

有关详细信息,请参阅本文this

因为它说 MaterialModule Removed。请改用单独的模块。 希望这会有所帮助。