Угловой маршрут по умолчанию всегда предварительно загружен

0

Вопрос

У меня есть два маршрута :

  • домой [ " ]
  • о [ "о" ]

Когда я захожу в /о непосредственно в своем браузере, я замечаю 2 вещи :

  • мой домашний модуль предварительно загружен (в то время как я запросил /о чем)
  • URL - адрес переписывается следующим образом : /о компании -> / ->> /о компании

приложение-маршрутизация.модуль.t

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

const routes: Routes = [
  { path: '', loadChildren: () => import('./routes/home/home.module').then(m => m.RoutesHomeModule) },
  { path: 'about', loadChildren: () => import('./routes/about/about.module').then(m => m.RoutesAboutModule) },
  { path: '**', redirectTo: '', pathMatch: 'full' }
];

@NgModule({
  imports: [ RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' }) ],
  exports: [ RouterModule ]
})
export class AppRoutingModule { }

app.component.ts

import { Component, OnInit } from '@angular/core';
import { NavigationStart, Router } from '@angular/router';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.less'],
})
export class AppComponent implements OnInit {

  constructor(
    private router: Router,
  ) { }

  ngOnInit(): void {
    this.router.events.subscribe(event => {
      if (event instanceof NavigationStart) {
        // outputs "/about" but NEVER "/"
        console.log(event.url);
      }
    });
  }

}

Угловой : 13.0.2
Chrome : 96.0.4664.55
ОС : macOS 12.0.1

angular lazy-loading
2021-11-24 05:42:28
1

Лучший ответ

0

Чтобы пропустить предварительную загрузку домашнего модуля, вы можете обновить массив маршрутов следующим образом.

const routes: Routes = [
  { path: 'home', loadChildren: () => import('./routes/home/home.module').then(m => m.RoutesHomeModule)},
  { path: 'about', loadChildren: () => import('./routes/about/about.module').then(m => m.RoutesAboutModule) },
  { path: '**', redirectTo: '', pathMatch: 'full' }
];

Это может ограничить предварительную загрузку.

Вы можете указать, как path: 'home' вместо path: ''.

2021-11-24 12:54:52

Какие изменения вы внесли ?
Ziad

Обновил свой ответ @Ziad
Jai Saravanan

Домашний модуль больше не загружен, но у меня все еще есть перезапись URL : /about - > / - > > /о компании>>
Ziad

Поэтому, когда вы даете /about он перенаправляется на"/`?
Jai Saravanan

Да, затем все возвращается к /о
Ziad

Проверьте свой код с помощью вашего компонента или auth.guard, была ли сделана логика перенаправления. Ваши маршруты, кажется, хороши.
Jai Saravanan

Работает ли он @Ziad ?
Jai Saravanan

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................