【问题标题】:display data in view that assign through model在通过模型分配的视图中显示数据
【发布时间】:2017-12-06 06:29:09
【问题描述】:

请原谅我对此事缺乏了解。所以让我来解决我的问题。我创建了一个包含此类信息的模型。

export class Organization {
     orgId?: string;
     orgName: string;
     orgAddress: string;
}

然后我用我的服务将它导入我的控制器以获取我的数据。

import { Organization } from '../model/organization';
import { OrganizationService } from '../service/organization/organization.service';

话虽如此。我设置我的模型和服务以获取我的数据。

 organization: Organization


 ngOnInit() {
   this.orgSvc.getUserOrganization().subscribe(org => {
    this.organization = org.data();
    console.log(this.organization );   
 })
}   

如果我控制台记录数据。它会打印出我需要的所有数据。

{
    orgId: 'sdfasfasdfcv',
    orgName: 'testOrg',
    orgAddress: 'street test'
 }

但每次我将其显示在我的视图中。它给我一个未定义属性的错误。

{{ organization.orgName }}

我错过了什么?我阅读了angular io 的文档。即使我创建了一个新实例。就像this.organizationData = new Organization('', '', '' ... ) 一样不起作用。

【问题讨论】:

  • 尝试使用ngIf or typesafe ?运算符
  • 发生这种情况是因为当 Angular 渲染视图时,您的应用还没有收到组织数据,所以它仍然是未定义的

标签: angular typescript


【解决方案1】:

使用类型安全?运算符

{{ organization?.orgName }}

这是因为服务调用是在渲染 DOM 之后进行的。在呈现对象时undefined,当您尝试访问其属性时,它不可用。上述修复将防止初始错误

更多信息read here

【讨论】:

  • 就像你破解了它一样。他们有什么解决方案吗?并感谢它的工作
  • Cool....... 其他解决方案使用*ngIf 来检查对象可用性
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-15
  • 1970-01-01
  • 2012-03-29
  • 2019-11-10
  • 1970-01-01
相关资源
最近更新 更多