Angular 11, выход маршрутизатора и маршрутизирует дочерние элементы внутри другого дочернего элемента. Не показывает компонент

#angular #typescript #routes #router-outlet #angular11

#angular #typescript #маршрутизирует #маршрутизатор-выход #angular11

Вопрос:

У меня проблемы с маршрутами и с дочерними компонентами внутри другого дочернего элемента, которые не отображаются на экране при нажатии на кнопку. Я думаю, что это проблема синтаксиса, но я ее не вижу. Я ценю вашу помощь.

файл app.routes.ts:

 import { RouterModule, Routes }    from '@angular/router';

import { HomeComponent }           from "./components/home/home.component";
import { CrearAvisoComponent }     from "./components/contenido/crear-aviso/crear-aviso.component";
import { SesionComponent }         from "./components/contenido/sesion/sesion.component";

//child components
import { SesionCuentaComponent }   from "./components/contenido/sesion-cuenta/sesion-cuenta.component";
import { SesionMensajesComponent } from "./components/contenido/sesion-mensajes/sesion-mensajes.component";

//sub-child components
import { SesionMsjInComponent }    from  "./components/contenido/sesion-mensajes/sesion-msj-in/sesion-msj-in.component";
import { SesionMsjSendComponent }  from  "./components/contenido/sesion-mensajes/sesion-msj-in/sesion-msj-in.component";



const APP_ROUTES: Routes = [
  { path: 'home',        component: HomeComponent },
  { path: 'crear-aviso', component: CrearAvisoComponent },
  { path: 'sesion',      component: SesionComponent, children: [
    { path: 'sesion-cuenta',   component: SesionCuentaComponent, outlet: 'sesionr'},
    { path: 'sesion-mensajes', component: SesionMensajesComponent, outlet: 'sesionr', children: [
        { path: 'sesion-msj-in',   component: SesionMsjInComponent, outlet: 'mensajesr'},
        { path: 'sesion-msj-send', component: SesionMsjSendComponent, outlet: 'mensajesr'},
        { path: '**', pathMatch: 'full', redirectTo: '/sesion/(sesionr:sesion-avisos)/(mensajesr:sesion-mjs-in)'},
    ]}, 
    { path: '**', pathMatch: 'full', redirectTo: '/sesion/(sesionr:sesion-avisos)' }
  ]},
  { path: '**', pathMatch: 'full', redirectTo: 'home' }
];


export const APP_ROUTING = RouterModule.forRoot(APP_ROUTES)
 

html-файл:

 <a [routerLink]="['/sesion', {outlets:{sesionr: ['sesion-avisos', {outlets:{mensajesr: ['sesion-msj-in'] }}] }}]">Send</a>

<router-outlet>
   <router-outlet name="sesionr">
      <router-outlet name="mensajesr"></router-outlet>
   </router-outlet>
</router-outlet>

 

Объявление в app.module.ts правильное, потому что у меня есть другие маршруты, которые работают.
Когда я нажимаю кнопку, она перенаправляет меня на «SesionComponent», но я хочу перейти к «SesionMsjInComponent».

Примечание: папки компонентов ‘SesionMsjInComponent’ и ‘SesionMsjSendComponent’ я помещаю в папку компонента ‘SesionMensajesComponent’

Комментарии:

1. Я не знаю, в чем проблема. Я бы попытался найти проблему, устранив маршруты, закомментировав их. Я думаю, было бы разумнее поместить каждую подпрограмму в свой собственный модуль. Это может помочь вам найти решение.

2. Я сделал то, что вы мне сказали. Удалите папку компонентов и обновите все пути, но у меня все та же проблема

3. И консоль не выдает мне ошибок