我对数据绑定两个组件有疑问。第一个作为对象发送数据,第二个在对象上进行迭代并在输入中输出数据(值是每个元素的值)。当输入值更改时,我想更改第一个组件中对象的值。
第一要素
test: any;
this.test= await this.authService.getMultilingual('en'); - ts
<form >
<app-iteration-multilingual *ngIf="test" [(array)] = 'test'></app-iteration-multilingual>
</form>
第二个组件
@Input('array') array: any; - ts
<ng-container *ngFor="let item of array | keyvalue" >
<mat-form-field class="example-full-width" *ngIf="type(item.value) != 'object'" style="margin-left: 500px; padding-bottom: 50px;" >
<input matInput placeholder="{{item.key}}" [(ngModel)]="item.value" name=" " >
</mat-form-field>
<br>
<app-iteration-multilingual style="margin-left: 20px;" [(array)] = 'item.value' *ngIf="type(item.value) == 'object'"></app-iteration-multilingual>
</ng-container >
HTML
答案 0 :(得分:0)
首先,将输入参数从父组件传递到子组件的语法为[inputParam]
尝试一下:
<app-iteration-multilingual *ngIf="test" [array] = 'test'></app-iteration-multilingual>
第二,由于您将输入参数名称指定为 array ,所以我假设您要传递数组,但您传递的是字符串'test'
。如果 test 是数组类型的变量,请像这样[array] = test