0

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

<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 中传递的 de 值?

4

1 回答 1

1

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

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

const modelContrato: Contrato;

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

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

于 2018-04-26T12:32:50.837 回答