El movimiento de página no se produce, por lo que no utiliza el enrutador. Sin embargo, cuando hace clic en un elemento en particular, aparece una nueva ventana creada con el cuadro de diálogo mat de Angular y muestra los datos. En este momento, los datos se reciben del servidor. La carga de datos actual es lenta, por lo que el usuario puede ver el cambio del valor inicial al valor del servidor.
¿Hay alguna manera de obtener los datos antes de que se represente el componente?
Por lo general, una cosa que puede hacer es crear el componente pero mantenerlo oculto para que cuando se muestre, los datos ya estén cargados. Eso puede ser difícil con un MatDialog, por lo que es posible que desee cargar previamente los datos en su componente principal y luego pasar los datos a su MatDialog cuando se abre (consulte la entrada de datos para MatDialog https://material.angular.io/components /diálogo/api#MatDialogConfig )
Ejemplo:
this.dialog.open(YourComponent, { data: { someText: "Hello world", someData: {id: 1} } });Solo trato de ayudar, no soy un experto angular, pero investigar los ciclos de vida angulares será un gran comienzo para este problema, esto no solo lo ayudará con este problema, sino que también lo ayudará a utilizar angular correctamente.
En caso de que use Observables para obtener datos del servidor, no puede suscribirse manualmente en el componente en ngOnInit del componente, solo puede sincronizar la canalización para obtener y mostrar datos en la plantilla