创建新日期时,对象Date()错误

时间:2018-07-26 20:45:04

标签: angular

我正在开发新的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)

2 个答案:

答案 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)
  }