次のようなサービスがあります。
@Injectable({
providedIn: 'root'
})
export class BoxContainerService {
private boxBehaviour: BehaviorSubject<any[]> = new BehaviorSubject<any[]>([]);
boxes$ = this.boxBehaviour.asObservable();
addBox(b: any) {
if (!b) return;
this.boxBehaviour.next([...this.boxBehaviour.value, layer]);
}
}
そして、私は次のような複数のコンポーネントに注入しています。
@Component({
selector: 'my-list',
templateUrl: './my-list.component.html'
})
export class MyListComponent implements OnInit, OnDestroy {
constructor(private service: BoxContainerService) {
}
ngonInit(){
}
}
しかし、ルートが変更されるたびに BoxContainerService の新しいインスタンスを取得したいと考えています。ページを更新すると、新しいインスタンスが作成されます。しかし、MyList_page から B_page にルーティングし、再び MyList_page にルーティングすると、box$ カウントが増加します。モジュール中にサービスインスタンスを再作成したい。モジュールを別のモジュールにインポートするためです。