Я пытаюсь реализовать вызов функции после закрытия диалога, но я не могу использовать канал и подписаться на него.Давайте посмотрим мой код.
я получил эту ошибку:
Type 'Observable<any>' is not assignable to type 'MatDialogRef<any, any>'. Property '_overlayRef' is missing in type 'Observable<any>'
Идея состоит в том, чтобы вызвать функцию this.windowScrolling.disable ();
, когда закрыть диалог
@Injectable({
providedIn: 'root'
})
export class NavegarService {
public offsets: number[];
windowScrolling: WindowScrollingService;
constructor(private router: Router,
private activatedRoute: ActivatedRoute,
windowScrolling: WindowScrollingService,
public dialogRef: MatDialogRef <any, any>,
private dialog: MatDialog) {
this.windowScrolling = windowScrolling;
this.offsets = this.range( 1, 20 );
}
navegarContext(url: string, event: any = null) {
this.router.navigate([url], {queryParams: {context: this.activatedRoute.snapshot.queryParams['context']}});
}
navegar(url: string, event: any = null) {
this.router.navigate([url]);
}
abrirModal(component: ComponentType<any>, dados: any, event: any = null): MatDialogRef<any, any> {
this.windowScrolling.disable();
return this.dialog.open(component, {minWidth: '90%', disableClose: true, data: dados, position: {top: '4%'}}).afterClosed()
.pipe(); // got error here
}
private range( from: number, to: number ): number[] {
const values = [];
for ( let i = from ; i <= to ; i++ ) {
values.push( i );
}
return( values );
}
}