我有一个输入表格。
<form #modelContrato="ngForm" role="form" >
<input [(ngModel)]="modelContrato.numero" id="numero" class="form-control" name="numero" type="text" autocomplete="off" placeholder="Número Contrato"
#numero="ngModel" required />
在我的组件上我有这些行。
@Input() modelContrato: Contrato;
在构造函数
上this.modelContrato = {} as Contrato;
ngOnInit
this.modelContrato.numero = '10';
ps:Contrato是一个模特。喜欢这个
export interface Contrato {
id: string;
contratoPrincipalId: string;
numero: string;
}
为什么我的输入没有改变在OnInit中传递的值?
答案 0 :(得分:0)
通用解决方案:使用@ViewChild
来引用元素。
https://angular.io/api/core/ViewChild
您的个人问题解决方案:只需在您的组件中创建一个字段
const modelContrato: Contrato;
因为[(ngModel)]="modelContrato.numero"
双向绑定到modelContrato numero属性到输入元素值
为什么你的代码不起作用:你错误地将input
元素绑定到@input
装饰器。
@input
装饰器用于将属性从祖先传递到后继组件。
https://angular.io/guide/component-interaction