Помните, что в следующий раз, когда вы отправите вопрос, вставьте код, относящийся к вашей ошибке, чтобы кто-то мог взглянуть на нее, поскольку та же самая ошибка может быть результатом другого кода.
После обновления моего приложения 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
(см. Примеры выше) при создании начальной переменной даты, иначе это также выдаст ошибку ...