Angular 角度材质日期选择器-错误:MdDatepicker:找不到DateAdapter的提供程序

Angular 角度材质日期选择器-错误:MdDatepicker:找不到DateAdapter的提供程序,angular,angular-material,Angular,Angular Material,以下材料文件,一: import {MdDatepickerModule} from '@angular/material'; 在根模块中,并将其添加到提供程序列表中,但无法在模板中使用它。出现以下错误: 未捕获(承诺中):错误:MdDatepicker:找不到的提供程序 日期适配器。您必须在计算机上导入以下模块之一 应用程序根目录:MdNativeDateModule,或提供自定义 实施 因此,根据它,我删除了上次导入并添加: import {MdNativeDateModule} from

以下材料文件,一:

import {MdDatepickerModule} from '@angular/material';
在根模块中,并将其添加到提供程序列表中,但无法在模板中使用它。出现以下错误:

未捕获(承诺中):错误:MdDatepicker:找不到的提供程序 日期适配器。您必须在计算机上导入以下模块之一 应用程序根目录:MdNativeDateModule,或提供自定义 实施

因此,根据它,我删除了上次导入并添加:

import {MdNativeDateModule} from '@angular/material';
现在,看起来,它起作用了。为什么物料单据告诉导入
MdDatepickerModule
,而不是
MdNativeDateModule
?它们之间的区别是什么?

实际上导入了
MdNativeDateModule
。单击plunker链接并查看main.ts文件。这些文件对此并不像人们希望的那样清楚

MdDatepickerModule
是包含组件本身的模块。该组件不知道与它一起使用的日期的实现

例如,如果希望使用JavaScript的本机
Date
对象,可以编写自己的类来处理Moment.JS对象。这是可以解释的

但是,如果您只想使用JavaScript的
日期
对象,则需要使用
NativeDateAdapter
类,该类已包含在
@angular/material
中。此类由
MdNativeDateModule
提供


它不是由
MdDatepickerModule
提供的,因为该模块只处理UI组件,如果您使用的是矩.JS对象,在应用程序中,您不需要使用
NativeDateAdapter
类。

您需要从
@angular/material
导入
MatNativeDateModule
,导入后,您必须在
@NgModule
中导入和导出它,您可以在

上查看更新,模块名称现在是-“MatNativeDateModule”MatNativeDateModule和MatMomentDateModule之间有什么区别?@Maurice它们用于处理JS的原生日期对象和Moment.JS对象repectively@AakashJain似乎
MatMomentDateModule
不是现成的,您需要先安装Moment.js吗?@galki检查如何导入模块。您的项目中也需要moment.js。