Pourquoi obtenir une valeur non définie de camion, lorsque j'envoie des données de TransportComponent, à TruckComponent?Angular 2 Envoyer des données à un enfant
export class TransportComponent {
actualTransport: Subject<any> = new Subject();
this.serviceTransport.subscribe((data) => {
data.transports.forEach(transport => {
this._truckService.getTruck(transport.idTransport)
.subscribe((truck) => {
data.truck = truck ///Here I add to data field truck
});
});
this.actualCourse.next(truck);
});
}
C'est modèle de TransportComponent:
<tabset >
<tab heading="Trucks">
<truck [actualTransport]="actualTransport"></general>
</tab>
<tab heading="Bus">
<bus [actualTransport]="actualTransport"></general>
</tab>
</tabset>
TruckComponent ressemble à ça:
export class TruckComponent {
@Input() actualTransport: Subject<any>;
ngOnInit() {
this.actualCourse.subscribe(
(data) => {
console.log(data) // in browser console truck value, is
present
console.log(data.truck) // here is undefined
}
}
}
Dans la console du navigateur, la valeur de camion est non défini, mais dans les données de l'objet, il a tout peuplé champ .
Y a-t-il une raison pour laquelle vous utilisez un sujet ici, et pas seulement '@ Input' avec une variable? – Alex
@ AJT_82 Non, je me demande simplement pourquoi cela se produit. – Dan
Ok, alors je vous suggère d'utiliser simplement des variables au lieu de Subject :) – Alex