控制台出错,但显示在浏览器中

Error in console but displays in browser

我的 angular 应用程序出现问题,显示错误类型错误:无法读取未定义的 属性 'name',但正在显示 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");
          })
      });  
}

您似乎直接使用了 projects.name,而 projects 正在被 ajax 检索。此代码失败,因为它试图 projects.name 绑定初始更改检测 运行。

在这种情况下 Use Safe Navigation / Elvis 运算符

{{projects?.name}}

您可以使用 {{projects?.name}} 或者您应该初始化您的项目...最佳做法是为您的项目使用界面和 class。