在我的代码中,我创建了一个接口
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'
答案 0 :(得分:3)
您获得的未定义错误是因为您尚未实例化您的对象。
public empresa : IEmpresas={nome_fantasia:'',razao_social:'',cnpj:''};
P.S。使用public
代替private
,
TypeScript public
并不重要,private
会
来自Angular Docs
所有数据绑定属性必须是TypeScriptpublic
属性。 Angular永远不会绑定到TypeScriptprivate
属性
实际上,它确实绑定到私有属性,但不是AoT
模式
的 Working StackBlitz 强>
答案 1 :(得分:1)
您应该初始化变量:private empresa : IEmpresas = {};
。