Saltar al contenido

Error angular 7 RangeError: se excedió el tamaño máximo de la pila de llamadas

Te sugerimos que revises esta resolución en un entorno controlado antes de pasarlo a producción, saludos.

Solución:

1.Este error ocurre cuando hay un bucle infinito. Como ha mencionado que la página se carga cuando héroes de la aplicación se comenta, esto podría usarse como nombre de selector para más de un componente que no está permitido. Esto puede causar un bucle infinito y fallar al cargar los componentes.

  1. Intente hacer ediciones a continuación,

héroe.componente.html

  • hero.id hero.name

héroe.detalle.componente.html

hero.name Details

id: hero.id

Espero que esto ayude.

En su ejemplo, representa el componente dentro de usted mismo, por lo que nunca termina esta operación y todo el tiempo representa otro componente secundario (si la segunda parte del bloque es

Actualización - más detalles:

Si escribe una aplicación con componentes, todos los componentes son jerárquicos, por lo que puede incluir el mismo componente dentro de usted solo si está seguro de que se trata de una cantidad limitada de bucle en su interior. En su ejemplo de código, tiene componentes anidados ilimitados, porque el componente secundario genera el siguiente componente secundario dentro de su cuerpo. Como resultado, su navegador muestra un error: RangeError: Maximum call stack size exceeded

héroe.componente.html

  • hero.id hero.name

app-hero-detalles.componente.html

hero.name Details

id: hero.id
// you should comment line below //

Agregaré una respuesta que describe una causa diferente para este error al actualizar a angular 8 una aplicación existente y usar nuevas funciones de enrutamiento.

En mi caso, agregué a cada ruta con carga diferida el data objeto con preload ajustado a true || false usando la nueva sintaxis:

  
    path: '',
    loadChildren: () => import('./views/home/home.module').then(mod => mod.HomeModule),
    data:  preload: true 
  ,

Sin embargo, me tomó un tiempo darme cuenta de que había dejado el preloadingStrategy ajustado a PreloadAllModules en mi RouterModule declaración forRoot:

@NgModule({
  imports: [RouterModule.forRoot(
    routes,
    
      preloadingStrategy: PreloadAllModules, <-- This is the cause
    )],
    ...

Quitar preloadingStrategy del módulo para la declaración de Root y confiar en la definición de precarga de datos de ruta soluciona el problema.

Comentarios y calificaciones

Recuerda que tienes concesión de valorar esta noticia .

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada.