angular материал Datepicker -не может получить доступ к SatCalendar до инициализации - PullRequest
0 голосов
/ 01 марта 2020

Я получил эту ошибку при попытке запустить мое приложение angular:

   ./node_modules/saturn-datepicker/fesm2015/saturn-datepicker.js @ saturn-datepicker.js:1765
 __webpack_require__ @ bootstrap:79 ./src/app/app.module.ts @ app.component.ts:8
 __webpack_require__ @ bootstrap:79 ./src/main.ts @ environment.ts:16
 __webpack_require__ @ bootstrap:79 0 @ main.ts:13
 __webpack_require__ @ bootstrap:79 checkDeferredModules @ bootstrap:45 webpackJsonpCallback @ bootstrap:32 (anonymous) @ main.js:1 client:52
 [WDS] Live Reloading enabled. 

В моем приложении angular v8, материал, момент js.

Что мне нужно сделать, чтобы исправить эту ошибку?

пакет. json

"dependencies": {
    "@angular/animations": "~8.2.9",
    "@angular/cdk": "~8.2.3",
    "@angular/common": "~8.2.9",
    "@angular/compiler": "~8.2.9",
    "@angular/core": "~8.2.9",
    "@angular/forms": "~8.2.9",
    "@angular/material": "^8.2.3",
    **"@angular/material-moment-adapter": "^8.2.3",**
    "@angular/router": "~8.2.9",
    "hammerjs": "^2.0.8",
    "moment": "^2.24.0",
    "rxjs": "~6.4.0",
    "saturn-datepicker": "^8.0.2",
    "tslib": "^1.10.0"

компонент. html

<mat-form-field>
    <mat-label>start your vacation at</mat-label>
    <input matInput [matDatepicker]="dp" [formControl]="startDate" />
    <mat-datepicker-toggle matSuffix [for]="dp"></mat-datepicker-toggle>
    <mat-datepicker #dp></mat-datepicker>
  </mat-form-field>

component.ts

import { Component, OnInit } from "@angular/core";
import { FormGroup, FormControl, Validators } from "@angular/forms";
import {
  MAT_MOMENT_DATE_FORMATS,
  MomentDateAdapter
} from "@angular/material-moment-adapter";
import {
  DateAdapter,
  MAT_DATE_FORMATS,
  MAT_DATE_LOCALE
} from "@angular/material/core";
// import { _rollupMoment } from "moment";
import * as _moment from "moment";

const moment = _moment;

@Component({
  selector: "app-order",
  templateUrl: "./order.component.html",
  styleUrls: ["./order.component.css"],
  providers: [
    {
      provide: DateAdapter,
      useClass: MomentDateAdapter,
      deps: [MAT_DATE_LOCALE]
    },
    { provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS }
  ]
})
export class OrderComponent implements OnInit {
  startDate = new Date(2019, 0, 1);
  constructor() {}
  form = new FormGroup({
    customeLastName: new FormControl("", [Validators.required]),
    customeFirstName: new FormControl("", [Validators.required]),
    startDate: new FormControl(moment([2020, 3, 1]))
  });

  ngOnInit() {}
}

1 Ответ

0 голосов
/ 01 марта 2020

я решаю свою проблему. Это потому, что Datepicker диапазона материалов устарел. и больше не может использовать эту npm упаковку npm Диапазон материалов DatePicker

теперь работает нормально без пакета, после удаления его из пакета. json

 "saturn-datepicker": "^8.0.2",
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...