[英]Angular - Routing tow modules in one module
我有auth.module
,在这个模块中我需要使用登录和注册模块。
我必须按钮login
和register
。
这是auth.html
:
<div class="container">
<div class="login">
<div class="form">
<div class="formTop">
<div class="signup-label">
<a href="/register">register</a>
</div>
<div class="login-label">
<a routerLink="/login">login</a>
</div>
</div>
<router-outlet></router-outlet>
</div>
<div class="guide">
</div>
</div>
这是身份验证路由:
const routes: Routes = [
{
path: '',
component: AuthComponent
},
{
path: 'login',
loadChildren: () => import('./login/login.module').then(x => x.LoginModule)
}
];
这个page.routing.module:
const routes: Routes = [
{
path: '',
loadChildren: () => import('./cards/cards.module').then(x => x.CardsModule)
},
{
path: 'auth',
loadChildren: () => import('./auth/auth.module').then(x => x.AuthModule)
}
];
这个app.routing:
const routes: Routes = [
{
path: '', loadChildren: () => import('./pages/pages.module').then(x => x.PagesModule)
}
];
但是当我单击login
按钮时,它会更改路由和更改页面。 我需要在点击登录或注册时更改路由但不更改页面身份验证,只需更改身份验证的内容即可。
现在我该如何解决这个问题???
你的第一条路线应该看起来像
{
path: '',
component: AuthComponent
pathMatch: 'full'
}
查看此链接以解释为什么 pathMatch: 'full' 在这里很重要。
应用程序路由:
const routes: Routes =
[
{
path: '', loadChildren: () => import('src/app/pages/pages.module').then(m => m.PagesModule)
}
];
页面路由.模块:
const routes: Routes =
[
{
path: "", redirectTo: "auth", pathMatch: "full"
},
{
path: 'auth', loadChildren: () => import('src/app/pages/auth/auth.module').then(m => m.AuthModule)
}
];
auth-routing.module:
const routes: Routes =
[
{
path: '', component: AuthComponent
},
{
path: 'login', loadChildren: () => import('src/app/pages/auth/login/login.module').then(m => m.LoginModule)
},
{
path: 'register', loadChildren: () => import('src/app/pages/auth/register/register.module').then(m => m.RegisterModule)
}
];
auth.component.html:
<p>
We are in Auth Compoent , this is layout;
</p>
<div class="login">
<div class="form">
<div class="formTop">
<div class="signup-label">
<a routerLink="/auth/register">register</a>
</div>
<div class="login-label">
<a routerLink="/auth/login">login</a>
</div>
</div>
<router-outlet></router-outlet>
</div>
<div class="guide">
</div>
</div>
登录路由模块:
const routes: Routes =
[
{
path: "", component: LoginIndexComponent
}
];
注册路由模块:
const routes: Routes =
[
{
path: "", component: RegisterIndexComponent
}
];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.