Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用自定义数据类型作为接口调用ngModel_Javascript_Angular_Typescript - Fatal编程技术网

Javascript 使用自定义数据类型作为接口调用ngModel

Javascript 使用自定义数据类型作为接口调用ngModel,javascript,angular,typescript,Javascript,Angular,Typescript,在我的代码中,我创建了一个接口作为 export interface IEmpresas { nome_fantasia : string; razao_social : string; cnpj : string; } 现在,在我的组件上,我创建了一个数据类型为接口的变量,如下所示: ... private empresa : IEmpresas; ... 我正在尝试将此变量作为模型放入html输入: <input type="text" [(ngModel)]="emp

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

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'

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

您得到的未定义错误是因为您没有实例化对象

 public empresa : IEmpresas={nome_fantasia:'',razao_social:'',cnpj:''};
p.S.使用
public
而不是
private
, TypeScript
public
不重要,但
private
重要

来自角度文档
所有数据绑定属性必须是TypeScript
public
财产。Angular从不绑定到TypeScript
private
属性

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


我从未想过我有义务实例化该属性。我想这是自动的角度。谢谢工作非常好:DGlad,我可以帮你把它作为正确的答案:)伙计,你能标记我的答案吗?