getFullYear () не является функцией - PullRequest
0 голосов
/ 01 ноября 2018

Я занимаюсь разработкой веб-приложения с использованием Angular. Когда я обновляю свое приложение до Angular7, функция даты не работает. Это дало мне ошибку, такую ​​как

DateTime.getFullYear не является функцией

Все было в порядке, пока я не обновился до Angular7. В package.json:

"typescript": "^3.1.1", "@angular/cli": "~7.0.2",
"@angular/complier-cli": "~7.0.0".

Что происходит?

1 Ответ

0 голосов
/ 02 ноября 2018

Помните, что в следующий раз, когда вы отправите вопрос, вставьте код, относящийся к вашей ошибке, чтобы кто-то мог взглянуть на нее, поскольку та же самая ошибка может быть результатом другого кода.

После обновления моего приложения ng6 до ng7 мой DateTime.getFullYear работал нормально, пока я что-то не изменил, и он внезапно выдал ту же ошибку. Казалось, все хорошо.

Проверка моего объекта даты, как показано ниже, вернула объект так, как он должен

dateFunction(longdate) {
    console.log(typeof(longDate))  // This returned 'object' which is correct
    longDate.getFullYear() // Would get the same error here
}

Итак, я попытался передать в функцию новый объект даты, а не один, отправляемый через параметр, как этот:

dateFunction() {
    longDate = new Date();
    console.log(typeof(longDate));  // This returned 'object' which is correct
    longDate.getFullYear(); // This worked fine now
}

И это будет нормально работать, поэтому я понял, что это не моя функция getFullYear (), а мой параметр поврежден.

Но вот странная часть, поэтому я пошел к родительскому компоненту и сделал там то же самое - я удалил старый код, сделал новый longDate = new Date() и отправил его в мою функцию, и вдруг он заработал. Точно такой же код, но я просто переписал его.

Попробуйте создать новую дату непосредственно перед вашей функцией, передайте ее и посмотрите, работает ли она. Если это работает, то это не ваша функция, а старая переменная date, которая повреждена.

PS: я просто чувствую, что должен сказать, что вы должны использовать ключевое слово new (см. Примеры выше) при создании начальной переменной даты, иначе это также выдаст ошибку ...

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