Lorsque l'entrée utilisateur accueil ou navigation par onglets doit aller sur la page de connexion.
const appRoutes: Routes = [ { path: 'tab-navigation', redirectTo: 'login', pathMatch: 'full' }, { path: 'home', redirectTo: 'login', pathMatch: 'full' }, { path: '', redirectTo: 'login', pathMatch: 'full' }, { path: '**', redirectTo: 'error404', } ];Cette logique fonctionne lorsque l'entrée est «» ou quelque chose comme ça «dfd45657d». Pourquoi ne pas travailler pour la maison et la navigation par onglets?
3 Réponses :
si vous aviez une URL de connexion dans vos itinéraires, je suppose que puisque login correspond à '**', cela peut avoir quelque chose à voir avec deux redirection successives.
mais si vous êtes vraiment n'a pas ajouté d'URL de connexion, vous devrez peut-être en ajouter une ...
const appRoutes: Routes = [
{
path: 'tab-navigation',
redirectTo: 'login',
pathMatch: 'full'
},
{
path: 'home',
redirectTo: 'login',
pathMatch: 'full'
},
{
path: '',
redirectTo: 'login',
pathMatch: 'full'
},
{
path: 'login',
component: 'loginComponent',
},
{
path: '**',
redirectTo: 'error404',
}
];
Ne fonctionne pas Même lorsque je quitte {path: 'tab-navigation', redirectTo: 'login', pathMatch: 'full'}, le résultat est le même.
avez-vous une URL de connexion déclarée?
essayez ceci
const appRoutes: Routes = [
{
path: 'tab-navigation',
redirectTo: '',
pathMatch: 'full'
},
{
path: 'home',
redirectTo: '',
pathMatch: 'full'
},
{
path: '',
redirectTo: 'login',
pathMatch: 'full'
},
{
path: '**',
redirectTo: 'error404',
}
];
Ne fonctionne pas Même lorsque je quitte {path: 'tab-navigation', redirectTo: 'login', pathMatch: 'full'}, le résultat est le même.
Tout d'abord, vous devez créer un composant associé pour la connexion.
Deuxièmement, matchpath ne vous affecte pas ici. donc que vous le gardiez ou non, aucun effet.
Essayez ceci:
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { LoginComponent } from '../login/login.component';
const routes: Routes = [
{
path: 'tab-navigation',
redirectTo: 'login'
},
{
path: 'home',
redirectTo: 'login'
},
{
path: '',
redirectTo: 'login',
pathMatch: 'full'
},
{
path : 'login',
component : LoginComponent
},
{
path: '**',
redirectTo: 'error404',
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class RouteModule { }
Lien de travail: https://stackblitz.com/edit/angular-nbajga?file=src%2Fapp%2Froute % 2Froute.module.ts
essayez de supprimer pathMatch: 'full' pour la navigation par onglets et la maison
@Ben Thie C'est ce que j'ai essayé en premier. Pas de travail.
de plus, vous n'avez pas de chemin pour 'login', avez-vous eu quelque chose comme: chemin: 'login', composant: LoginComponent
Vous avez besoin d'un composant associé à votre itinéraire
loginEssayez d'utiliser Remove Pathmatch de la navigation par onglets et de l'accueil
@veben J'essaye d'associer le composant à la route de connexion. Ne fonctionne toujours pas.
@Ubiquitous Developers Je supprime pathmatch. Le résultat est le même.
Pouvez-vous fournir un exemple minimal reproductible fonctionnel avec StackBlitz qui présente le comportement?