Angular 双向数据绑定 - 更改值

Angular Two-Way-Databind - Change Value

我有一个带有输入的表格。

<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 />

在我的 component.ts 上有这些行。

@Input() modelContrato: Contrato;

关于构造函数

this.modelContrato = {} as Contrato;

ngOnInit

this.modelContrato.numero = '10';

ps: Contrato 是一个模型。像这样

export interface Contrato {
    id: string;
    contratoPrincipalId: string;
    numero: string;
}

为什么我的输入没有改变 OnInit 中传递的值?

通用解决方案:使用 @ViewChild 来引用元素。 https://angular.io/api/core/ViewChild

您的个人问题解决方案:只需在您的组件中创建一个字段

const modelContrato: Contrato;

因为 [(ngModel)]="modelContrato.numero" 双向绑定到 modelContrato numero 属性到输入元素值

为什么您的代码不起作用:您错误地将 input 元素绑定到 @input 装饰器。 @input 装饰器用于将属性从祖先组件传递到后继组件。 https://angular.io/guide/component-interaction