我正在开发新的Angular项目,其中包含有关电影的信息。 创建新的不同日期时,我的movie.service.ts中有一个。
这是我的错误
set
我想放映过去几个月来在剧院里放映的最新电影。 这是我的src代码
ERROR TypeError: Cannot read property 'year' of undefined
at new MovieService (movie.service.ts:17)
at core.js:1461
at _callFactory (core.js:8223)
at _createProviderInstance (core.js:8181)
at resolveNgModuleDep (core.js:8156)
at NgModuleRef_.push../node_modules/@angular/core/fesm5/core.js.NgModuleRef_.get (core.js:8849)
at resolveDep (core.js:9214)
at createClass (core.js:9086)
at createDirectiveInstance (core.js:8971)
at createViewNodes (core.js:10191)
答案 0 :(得分:1)
分别获取日,月和年的三个局部变量,然后在今天的对象中使用它们,效果会很好。
答案 1 :(得分:0)
您试图在创建变量之前初始化变量。实现它的最简单方法是在构造函数中执行。像这样的东西:
today;
constructor() {
const date = new Date();
const dmy = {
day: date.getDate(),
month: date.getMonth(),
year: date.getFullYear(),
}
this.today = {
day: `${dmy.day}`,
month: `${dmy.month}`,
year: `${dmy.year}`,
now: `${dmy.year}-${dmy.month}-${dmy.day}`,
then: `${dmy.year}-${dmy.month - 1}-${dmy.day}`
};
console.log(this.today)
}