我有如下服务:
@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$ 计数正在增加。我想在模块期间重新创建服务实例。因为我会在另一个模块中导入模块。