角度双向数据绑定 - 更改值

时间:2018-04-26 12:16:30

标签: angular input angular4-forms ngmodel

我有一个输入表格。

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

1 个答案:

答案 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