Angulaire de la route par défaut toujours préchargé

0

La question

J'ai deux itinéraires :

  • la maison [ " ]
  • à propos de [ 'sujet' ]

Quand je vais à /concernant directement avec mon navigateur, j'ai remarquer 2 choses :

  • ma maison module est pré-chargée (alors que j'ai demandé à propos de)
  • l'URL est rewritted comme ceci : /a-propos -> / -> /sur

app-routage.le module.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.composante.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);
      }
    });
  }

}

Angulaire : 13.0.2
Chrome : 96.0.4664.55
Système d'exploitation : MacOS 12.0.1

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

La meilleure réponse

0

Pour ignorer la précontrainte de la maison module, vous pouvez mettre à jour le tableau de route à suivre.

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' }
];

Cela peut restreindre le préchargement.

Vous pouvez spécifier que path: 'home' au lieu de path: ''.

2021-11-24 12:54:52

Quels changements avez-vous apportés ?
Ziad

Mise à jour de ma réponse @Ziad
Jai Saravanan

Le module accueil n'est pas préchargée plus, mais j'ai encore la reécriture d'URL : /a-propos -> / -> /sur
Ziad

Ainsi, lorsque vous donnez /about il est de la redirection vers` /` ?
Jai Saravanan

Oui, puis il remonte vers /à propos
Ziad

Vérifiez votre code avec votre composant ou de votre auth.de la garde, la redirection de la logique avait fait. Vos itinéraires semble être bon.
Jai Saravanan

Est-ce que cela @Ziad ?
Jai Saravanan

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................