Chciałbym wysłać wiele obiektów lub parametrów do elementu dziecka przy użyciu jednego wejścia:

<child [OneInput]="{object1,object2}"></child>

Ponieważ w komponencie potomnym należy ustawić metodę pobierania danych z komponentu nadrzędnego

@Input()
set OneInput(data)
{
 console.log(data)
}

Nie chcę tworzyć oddzielonego zmiennego rodzaju let obj= {obj1:data1,obj2:data2}

Proszę o pomoc.

1
AHméd Net 6 grudzień 2018, 12:09

1 odpowiedź

Najlepsza odpowiedź

Jeśli na komponencie określasz 2 zmienne, które chcesz przejść w szablonie, możesz bezpośrednio przekazać go na [Oneinput]

ParentComponent

@Component({
   ...,
   template: `<child [OneInput]="{userList: users, positionList: positions}"></child>`
})
export class ParentComponent {

   users = ['user1', 'user2'];
   positions = ['position1', 'position2'];

}

ChildComponent

@Component({...})
export class ChildComponent {

   @Input()
   set OneInput({userList, positionList}) {    // You can use data or you can destructure it to directly access the objects without having to data.userList and data.positionList
      console.log(userList, positionList)
   }

} 
2
KShewengger 6 grudzień 2018, 12:22