Angular 5.x 学习笔记之Router(路由)应用
序言
Angular APP 视图之间的跳转,依赖于 Router (路由),这一章,我们来讲述 Router 的应用
实例讲解
运行结果如下。 设置了3个导航栏, Home、 About、Dashboard。 点击不同的导航栏,跳转到相应的页面
创建3个 ponent
- ng g c home
- ng g c about
- ng g c dashboard
路由与配置
(1)引入 Angular Router
当用到 Angular Router 时,需要引入 RouterModule,如下
// app.module.ts import { RouterModule } from '@angular/router'; imports: [ BrowserModule, RouterModule ],
(2) 路由配置
还记得由谁来管理ponent 的吧,没错,由 module 来管理。 所以,把新创建的 ponent,引入到 app.moudle 中。 如下
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { appRoutes } from './routerConfig'; import { AppComponent } from './app.ponent'; import { AboutComponent } from './ponents/about/about.ponent'; import { HomeComponent } from './ponents/home/home.ponent'; import { DashboardComponent } from './ponents/dashboard/dashboard.ponent';
提示 注意ponent的路径,为便于管理,我们把新创建的ponent 移到了 ponents 文件夹中。
创建 Router Configure 文件
在 app 目录下, 创建 routerConfig.ts 文件。 代码如下
import { Routes } from '@angular/router'; import { HomeComponent } from './ponents/home/home.ponent'; import { AboutComponent } from './ponents/about/about.ponent'; import { DashboardComponent } from './ponents/dashboard/dashboard.ponent'; export const appRoutes: Routes = [ { path: 'home', ponent: HomeComponent }, { path: 'about', ponent: AboutComponent }, { path: 'dashboard', ponent: DashboardComponent } ];
说明 Angular 2.X 以上版本,开始使用 TypeScript 编写代码,而不再是 JavaScript,所以,文件的后缀是 ts 而不是 js
这个 routerConfigue 文件,怎么调用呢? 需要把它加载到 app.module.ts 中,这是因为 app.moudle.ts 是整个Angular App 的入口。
// app.module.ts import { appRoutes } from './routerConfig'; imports: [ BrowserModule, RouterModule.forRoot(appRoutes) ],
声明 Router Outlet
在 app.ponent.html 文件中,添加代码
<div style="text-align:center"> <h1> {{title}}!! </h1> <nav> <a routerLink="home" routerLinkActive="active">Home</a> <a routerLink="about">About</a> <a routerLink="dashboard">Dashboard</a> </nav> <router-outlet></router-outlet> </div>
运行
进入到该工程所在的路径, 运行;
ng serve --open
当 webpack 编译成功后,在浏览器地址栏中,输入 http://localhost:4200
即可看到本篇开始的结果。
关于Router,换一种写法
在 app.moudle.ts 文件中,代码如下
imports: [ BrowserModule, RouterModule.forRoot( [ { path: 'home', ponent: HomeComponent }, { path: 'about', ponent: AboutComponent }, { path: 'dashboard', ponent: DashboardComponent } ] ) ],
这样一来,可以不用单独创建 routerConfigure.ts 文件。
小结
自从引入了面向组件(ponent)后,路由管理相比 AngularJS (1.X),方便了很多。
进一步优化
或许你已经注意到,当访问 http://localhost:4200 时,它的路径应该是 “/”, 我们应该设置这个默认的路径。
{ path: '', redirectTo:'/home', pathMatch: 'full' },
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程