Как импортировать isDate? - PullRequest
0 голосов
/ 23 марта 2019

Я хочу использовать isDate() в одном из моих методов.Код Visual Studio автоматически добавляет import { isDate } from '@angular/common/src/i18n/format_date' в мой компонент.Но я получаю сообщение об ошибке при компиляции: ERROR in . . . : error TS2305: Module '"C:/Users/John/my-project/node_modules/@angular/common/common"' has no exported member isDate'

Почему компилятор смотрит на /node_modules/@angular/common/common, когда файл находится в '@angular/common/src/i18n/format_date', и как мне заставить его выглядеть в нужном месте?

import { Component, Input } from '@angular/core';
import { Member } from '../member';
import { isDate } from '@angular/common/src/i18n/format_date';

@Component({
  selector: 'app-enroll-form',
  templateUrl: './enroll-form.component.html',
  styleUrls: ['./enroll-form.component.css']
})
export class EnrollFormComponent {
  @Input() member: Member = new Member("");

  constructor() {

  }

   memberKeys = Object.keys(this.member);

  primType(s: string) {
    if (typeof(s)==='string' || typeof(s)==='number' || isDate(s)) {
      return true;
    } else {
      return false;
    }
  }
}

Ответы [ 2 ]

1 голос
/ 23 марта 2019

Дата на самом деле не тип данных в JavaScript.Но чтобы узнать, является ли что-то объектом Date, его можно протестировать с instanceof против Date.

попробуйте создать свою собственную функцию и вызвать ее в функции primType

// Returns if value is a date object
isDate (value) {
   return value instanceof Date;
}

и даже удалить строку нижеиз кода и попробуйте это работает ..

import { isDate } from '@angular/common/src/i18n/format_date';
0 голосов
/ 24 марта 2019

Внезапно, моя IDE (код Visual Studio) дал мне возможность для isDate в 'util' (я не верю, что эта опция была доступна мне ранее). Когда я import { isDate } from 'util'; теперь все работает нормально.

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