Angular routing生成路由和路由的跳转

时间:2023-03-08 17:38:09

Angular routing生成路由和路由的跳转


什么是路由

路由的目的是可以让根组件按照不同的需求动态加载不同的组件。

根据不同地址,加载不同组件,实现单页面应用。

Angular routing生成路由和路由的跳转

Angular 命令创建一个配置好路由的项目

命令创建项目

ng new demo02 --routing

  Angular routing生成路由和路由的跳转

安装依赖

npm install

  Angular routing生成路由和路由的跳转

启动项目

ng serve --open

  Angular routing生成路由和路由的跳转

  Angular routing生成路由和路由的跳转

与没有创建路由的项目比较

创建路由项目的文件比没有创建路由项目的文件多了一个 app-routing.module.ts 文件。

  Angular routing生成路由和路由的跳转

然后在 app.module.ts 文件中引入了路由文件。

  Angular routing生成路由和路由的跳转

app.component.html 文件中加入了动态加载组件显示的地方。

Angular routing生成路由和路由的跳转

路由学习案例

创建组件

创建几个组件,首先创建一个 components 文件夹存放将要创建的组件。

创建home组件

ng g component components/home

  Angular routing生成路由和路由的跳转

创建news组件

ng g component components/news

  Angular routing生成路由和路由的跳转

创建user组件

ng g component components/user

Angular routing生成路由和路由的跳转

配置路由,点击不同的导航显示不同组件

在 app-routing.module.ts 中配置路由。

首先引入组件

// 引入组件
import {HomeComponent} from './components/home/home.component'
import {NewsComponent} from './components/news/news.component'
import {UserComponent} from './components/user/user.component'

配置路由

// 配置路由
const routes: Routes = [
{
path:'home',
component:HomeComponent,
},
{
path:'news',
component:NewsComponent,
},
{
path:'user',
component:UserComponent,
}
];

  Angular routing生成路由和路由的跳转

    Angular routing生成路由和路由的跳转

添加导航按钮

在根组件 app.component.html 文件中添加导航。

<header>
<ul>
<li><a routerLink="home" >首页</a></li>
<li><a routerLink="news" >新闻</a></li>
<li><a routerLink="user" >用户</a></li>
</ul>
</header>

  Angular routing生成路由和路由的跳转

    Angular routing生成路由和路由的跳转

我们最简单的路由写完了!!!

但是我们发现一个问题,当我们初始化整个项目的时候,默认是没有组件的

  Angular routing生成路由和路由的跳转

我们如果想一进来就加载首页组件,就涉及到默认的跳转路由!

默认加载组件(空路由)

  {
path:'', // 空路由
redirectTo:'home', // 重定向到
pathMatch:'full'
}

  Angular routing生成路由和路由的跳转

如果路由输入错误,还是跳回首页(也可以匹配空路由)

 // 匹配不到路由时候加载的组件
{
path:'**', // 任意路由
component:HomeComponent
}

  Angular routing生成路由和路由的跳转