错误:无法解析'@ mat-datetimepicker / core / adapter'-我无法导入模块

时间:2019-02-07 13:07:35

标签: angular typescript

我使用的mat-datetimepicker与素材的datepicker相同,但也要增加时间。我现在尝试更改显示的日期时间的格式。为此,我需要覆盖MAT_DATETIME_FORMATS

我的问题是我无法导入MAT_DATETIME_FORMATS。我如何尝试:

import { MAT_DATETIME_FORMATS } from '@mat-datetimepicker/core/adapter';

我得到的错误:

Module not found: Error: Can't resolve '@mat-datetimepicker/core/adapter'

如果我查看自己的node_modules文件夹,则会在MAT_DATETIME_FORMATS下找到@mat-datetimepicker/core/adapter

enter image description here

它在文件datetime-formats.d.ts中。

您还可以查看hithub上的存储库: https://github.com/kuhnroyal/mat-datetimepicker/tree/master/projects/core/src/adapter

但是我的导入无效。 我想念什么?为什么找不到模块?

2 个答案:

答案 0 :(得分:0)

根据有角度的官方文档来更改日期格式,您需要在app.module.ts中完全插入日期格式的提供者中

 providers: [
{ provide: LOCALE_ID, useValue: 'it-IT' }
] 

还请记住在app.module.it中导入LOCALE_ID

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

要在组件中使用MAT_DATE_FORMATS,请添加提供程序:

Component({
  selector: 'my-component',
  templateUrl: './my-component.component.html',
  styleUrls: ['./my-component.component.css'],
  providers: [
    // `MomentDateAdapter` and `MAT_MOMENT_DATE_FORMATS` can be automatically provided by importing
    // `MatMomentDateModule` in your applications root module. We provide it at the component level
    // here, due to limitations of our example generation script.
    { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },
    { provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS },
  ],
}) 

具有以下导入:

import { MAT_MOMENT_DATE_FORMATS, MomentDateAdapter } from '@angular/material-moment-adapter'; 

您可以像这样播放日期:

startDate = moment([1970, 0, 1]);
  minDate = moment([1930, 0, 1]);
maxDate = moment([2004, 0, 1]); 

答案 1 :(得分:0)

MAT_DATETIME_FORMATS可以直接从核心导入:

import { MAT_DATETIME_FORMATS } from '@mat-datetimepicker/core';