路由处理

基本用法#

添加 AppRoutingModule

 

ng generate module app-routing --flat --module=app

app-routing.module.ts

复制代码
import { NgModule }             from '@angular/core';
import { RouterModule, Routes } from '@angular/router';

import { FooComponent } from './foo/foo.component'
import { BarComponent } from './bar/bar.component'

const routes: Routes = [
  {
    path: 'foo',
    component: FooComponent
  },
  {
    path: 'bar',
    component: BarComponent
  }
]

@NgModule({
  imports: [
    RouterModule.forRoot(routes)
  ],
  exports: [ RouterModule ]
})
export class AppRoutingModule {}
复制代码

设置路由出口:

<h1>{{title}}</h1>
<router-outlet></router-outlet>

设置导航链接:

<ul>
  <li>
    <a routerLink="/foo">Go Foo</a>
  </li>
  <li>
    <a routerLink="/bar">Go Foo</a>
  </li>
</ul>

路由对象#

  • path

    • 不能以 / 开头

  • component

默认路由:

{ path: '', redirectTo: '/dashboard', pathMatch: 'full' },

动态路由匹配#

动态路径配置:

{ path: 'detail/:id', component: HeroDetailComponent },

导航链接:

<a *ngFor="let hero of heroes" class="col-1-4"
    routerLink="/detail/{{hero.id}}">

在组件中解析获取动态路径参数:

复制代码
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Location } from '@angular/common';

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

  constructor(
    private route: ActivatedRoute,
    private location: Location
  ) { }

  ngOnInit() {
    const id = this.route.snapshot.paramMap.get('id')
    console.log(id)
  }

}
复制代码

路由导航#

后退:

this.location.back();

 

posted @   1640808365  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2020-03-19 数据库读写分离之配置Django实现数据库读写分离
点击右上角即可分享
微信分享提示
主题色彩