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。