调用自定义数据类型为接口

时间:2018-05-26 18:52:05

标签: javascript angular typescript

在我的代码中,我创建了一个接口

export interface IEmpresas {
  nome_fantasia : string;
  razao_social : string;
  cnpj : string;
}

现在在我的组件上我创建了一个数据类型为我的界面的变量,如下所示:

...
private empresa : IEmpresas;
...

我尝试将此变量作为模型放入我的html输入:

<input type="text" [(ngModel)]="empresa.razao_social" id="razao_social">

但出于某种原因,我仍然得到:

'无法读取未定义的属性'razao_social'

2 个答案:

答案 0 :(得分:3)

您获得的未定义错误是因为您尚未实例化您的对象。

 public empresa : IEmpresas={nome_fantasia:'',razao_social:'',cnpj:''};

P.S。使用public代替private, TypeScript public并不重要,private

  

来自Angular Docs
   所有数据绑定属性必须是TypeScript public   属性。 Angular永远不会绑定到TypeScript private属性

实际上,它确实绑定到私有属性,但不是AoT模式

Working StackBlitz

答案 1 :(得分:1)

您应该初始化变量:private empresa : IEmpresas = {};