2

我的 Angular 应用程序出现问题,显示 ERROR TypeError: Cannot read property 'name' of undefined 但正在显示 projects.name。我怎样才能摆脱console.log中的错误。数据包含一个对象。

ngOnInit() {
    this.route.params 
      .subscribe((params: Params) => { 
      this.id = +params['id']; 
      this.projectsService = this.injector.get(ProjectsService);
      this.projectsService.getProject(this.id)
      .subscribe(
          (data:any) => {
            this.projects = data;
            console.log(data);

          },
          error => {
            alert("ERROR");
          })
      });  
}
4

2 回答 2

1

好像您直接使用projects.name并且projects正在被ajax检索。此代码失败,因为它尝试projects.name在初始更改检测运行时绑定。

在这种情况下,Use Safe Navigation / Elvis运营商

{{projects?.name}}
于 2017-10-15T09:34:55.030 回答
1

您可以使用 {{projects?.name}} 或者您应该初始化您的项目......最佳实践是为您的项目使用接口和类。

于 2017-10-15T09:43:14.047 回答