两个组件数据绑定有问题

时间:2019-06-02 09:11:39

标签: angular

我对数据绑定两个组件有疑问。第一个作为对象发送数据,第二个在对象上进行迭代并在输入中输出数据(值是每个元素的值)。当输入值更改时,我想更改第一个组件中对象的值。

第一要素

 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


1 个答案:

答案 0 :(得分:0)

首先,将输入参数从父组件传递到子组件的语法为[inputParam]

尝试一下:

 <app-iteration-multilingual *ngIf="test" [array] = 'test'></app-iteration-multilingual>

第二,由于您将输入参数名称指定为 array ,所以我假设您要传递数组,但您传递的是字符串'test'。如果 test 是数组类型的变量,请像这样[array] = test

进行绑定