Метод отключения пользовательского источника данных не вызывается, когда я покидаю страницу, которая его инициализировала.
Я разработал пользовательский источник данных, чтобы использовать таблицу с сортировкой и разбиением на страницы сервера.
Все работает хорошо, подключенный метод вызывается, когда пользовательский класс DataSource инициализируется с помощью нового CustomDataSource () в моем методе ngOnInit моей страницы, но когда я выхожу со страницы, метод отсоединения, который должен очистить используемыйпредметы, не называется.
class SomeComponent implements OnInit, OnChanges, AfterViewInit {
ngOnInit(): void {
this.dataSource = new CustomDataSource(this.logService,
this.mensagemService);
}
}
class ProcessosLogsDataSource implements DataSource<LogModel> {
private logsSubject = new BehaviorSubject<LogModel[]>([]);
private loadingSubject = new BehaviorSubject<boolean>(false);
private lengthSubject = new BehaviorSubject<number>(0);
public loading$ = this.loadingSubject.asObservable();
public length$ = this.lengthSubject.asObservable();
constructor(
private logService: LogService,
private mensagemService: MensagemService) { }
connect(collectionViewer: CollectionViewer): Observable<ProcessoLogModel[]> { // is being called when the dataSource is being initialized in the SomeComponent ngOnInit method
return this.logsSubject.asObservable();
}
disconnect(collectionViewer: CollectionViewer): void {// not being called
this.logsSubject.complete();
this.loadingSubject.complete();
this.lengthSubject.complete();
}
}