Step3:Angular 3种路由导航方式

1. 仅在app-routing.module.ts实现,直接导航到各个页面中。

// app-routing.modules.ts
import { NgModule } from '@angular/core';
import { RouterModule, Routes} from '@angular/router';
import { LoginComponent } from './login/login/login.component';
import { LoginModule } from './login/login.module';
import { RegisterComponent } from './login/register/register.component';
const routes: Routes = [
    { path: '', redirectTo: '/login', pathMatch: 'full'},
    { path: 'login', component: LoginComponent},
    { path: 'register', component: RegisterComponent}
];

@NgModule({
    imports: [
        RouterModule.forRoot(routes),
        LoginModule
    ],
    exports: [RouterModule]
})

export class AppRoutingMoudle {}
<!-- 导航到注册页面-->
<p>还没有账户?<a routerLink="/register">注册</a></p>

2. 不导入LoginModule模块,由app-routing.modules.ts和login-routing.modules.ts实现。

// app-routing.modules.ts
import { NgModule } from '@angular/core';
import { RouterModule, Routes} from '@angular/router';
const routes: Routes = [
    { path: '', redirectTo: '/login', pathMatch: 'full'},
    { path: 'login', loadChildren: './login/login.module#LoginModule'}
];

@NgModule({
    imports: [
        RouterModule.forRoot(routes)
    ],
    exports: [RouterModule]
})

export class AppRoutingMoudle {}
// login-routing.modules.ts
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { LoginComponent } from './login/login.component';
import { RegisterComponent } from './register/register.component';
const routes: Routes = [
    { path: '', component: LoginComponent},
    { path: 'register', component: RegisterComponent},
];

@NgModule({
    imports: [RouterModule.forChild(routes)],
    exports: [RouterModule]
})

export class LoginRoutingModule { }
<!-- 导航到注册页面-->
<p>还没有账户?<a routerLink="/login/register">注册</a></p>

3. 导入LoginModule模块,由app-routing.modules.ts和login-routing.modules.ts实现。(一般导入LoginModule模块并不在app-routing.modules.ts中,而是在app.modules.ts中)

// app-routing.modules.ts
import { NgModule } from '@angular/core';
import { RouterModule, Routes} from '@angular/router';
import { LoginModule } from './login/login.module';
const routes: Routes = [
    { path: '', redirectTo: '/login', pathMatch: 'full'}
];

@NgModule({
    imports: [
        RouterModule.forRoot(routes),
        LoginModule
    ],
    exports: [RouterModule]
})

export class AppRoutingMoudle {}
// login-routing.modules.ts
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { LoginComponent } from './login/login.component';
import { RegisterComponent } from './register/register.component';
const routes: Routes = [
    { path: 'login', component: LoginComponent},
    { path: 'register', component: RegisterComponent},
];

@NgModule({
    imports: [RouterModule.forChild(routes)],
    exports: [RouterModule]
})

export class LoginRoutingModule { }
<!-- 导航到注册页面-->
<p>还没有账户?<a routerLink="/register">注册</a></p>

持续更新中……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Angular 中,导航栏可以作为一个抽象路由来实现。抽象路由是指在路由配置中定义的一特殊路由,它不会对应一个具体的组件或页面,而是用于组织和管理其他路由。 以下是如何将导航栏作为抽象路由的步骤: 1. 创建导航栏组件:首先,创建一个导航栏组件,用于显示导航菜单和处理导航逻辑。这个组件不需要对应一个具体的路由路径,因为它将作为抽象路由使用。 2. 定义抽象路由:在路由配置文件中,定义一个抽象路由,例如`{ path: '', component: NavbarComponent, outlet: 'navbar' }`。这里使用一个特殊的`outlet`属性来指定抽象路由的出口名称为`navbar`,以便在其他路由中插入导航栏。 3. 插入导航栏:在其他具体路由的模板中,使用`<router-outlet>`元素来指定插入抽象路由的位置。例如,可以在主模板中添加`<router-outlet name="navbar"></router-outlet>`,这样导航栏就会被插入到主模板的指定位置。 通过以上步骤,导航栏就作为一个抽象路由被集成到应用中了。它可以在不同的页面中显示,并且可以处理导航逻辑。 使用抽象路由的好处是,可以将导航栏与其他具体路由组件解耦,使其独立于具体的页面。这样可以更容易地扩展和维护导航栏功能,同时保持代码的整洁和可读性。 希望以上解答对你有帮助,如果还有其他问题,请随时提问!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值