角度ルーティングは大きなオブジェクトを渡すためのものではありません。複雑なオブジェクトではなく、ルートパラメータとクエリパラメータを渡すことができます。
コンポーネント間でデータを共有する必要がある場合は、サービスの共有インスタンスを使用することをお勧めします。
共有サービスには監視可能なサービスを使用することをお勧めします。例は次のようになります。
@Injectable()
export class MySharedService {
// BehaviorSubjects start with a default value and replay the latest value to components that subscribe at any point in the lifecycle.
// Subject types do not start with a default value and do not replay the latest value, so if a component subscribes after it's fired, it won't receive the value.
private someStringDataSource = new BehaviorSubject<string>('');
someString$ = this.someStringDataSource.asObservable();
setSomeString(newString: string) {
this.someStringDataSource.next(newString);
}
}
export class AppComponent implements OnInit, OnDestroy {
sub: Subscription;
constructor(private sharedService: MySharedService) { }
ngOnInit() {
// subscribe to data from service
this.sharedService.someString$.subscribe(data => //do something with data);
//send data to service
this.sharedService.setSomeString('newString');
}
ngOnDestroy(){
this.sub.unsubscribe();
}
}
これは私が探していたものです。どうもありがとう。 – bchampion