Angular最新教程-第八节 路由一(路由配置)

简介: Angular最新教程-第八节 路由一(路由配置)

Angular之所以被称为单页面应用,就是因为我们在改变浏览器URL的时候,
不触发刷新当前页面的行为,我们看到的所有的界面,其实是在一个主URL中。
这个功能(功能?现象?表现?随便吧!)就是通过路由实现的。
下面我们先简单的看一个关于路由的例子。

image.png

当我们点击上面的导航栏时,当前页面的地址会变成类似http://localhost:63342/test.html#about
尾部带的
#about就是我们常常说的锚标记,上述例子中我们使用的是锚标记最传统的用法,

直接连接到所在页面的其他位置,比如这个例子中,本来about部分的内容是在窗口之外的,
访问量#about之后,页面就会自动滚动,将它展示出来。
关于路由的其他详细介绍可以参考我之前的博客。
ionic入门教程第十九课-ionic路由详解(state、route、resolve)
http://blog.csdn.net/onil_chen/article/details/51758696


以上面文章中提到的view概念不同的是,
在Angular4中,使用的是
<router-outlet></router-outlet>
来设置页面的渲染位置。
根据我们上节课的例子,里面,我们需要反复渲染的是图中标注区域。

image.png


而保留navbar和网站状态。


导入路由模块

打开\src\app\app.module.ts
在头部导入RouterModule和Routes
import { RouterModule , Routes } from ‘@angular/router’;
RouterModule是指路由模块。
Routes是应用程序支持的路由配置的数组。


新建路由对象

image.png

我们还是查看Angular中文社区的样式,我们先创建三个路由。
首先我们先创建三个组件。
$ ng generate component lates

$ ng generate component hots

$ ng generate component update
这里需要注意的是,我们使用命令创建组件,会自动被加到@NgModule的declarations中

image.png

如果你是手动创建组件,那么你需要把所有用到的组件,加到这个位置。
然后我们设置路由参数是这样子的
{path:'latest',component:LatestComponent}
path表示路径,component表示路由对应的组件。


然后我们也有可能访问了没有路由的页面,
我们并不希望界面没有渲染,而是被重定向到最新模块。
{path:'',redirectTo:'latest',pathMatch: 'full'}
redirectTo表示的是讲当前路径重定向到另一个路径。
最终我们的router对象就是

image.png


使用路由配置

刚刚我们已经配置了我们的路由对象,接下来我们要把它引用到我们的项目中。
在@NgModule的imports中加入
RouterModule.forRoot(routes)

image.png

在@NgModule的providers中加入{provide:LocationStrategy,useClass:HashLocationStrategy}
这里涉及到路由策略的内容,我们后续课程单独讲解。
上面的设置就是使用锚标记策略。


设置渲染界面

打开src\index.html在head下面加入<base href="/">
打开\src\app\app.component.html

image.png


保存运行。

image.png


点击导航切换

image.png


源代码:百度云 链接:http://pan.baidu.com/s/1pKEV4HP 密码:fief
码云:
https://gitee.com/xiaohuOni/oniplan-ng
有码云的帮忙给个star,感谢。


这节课的内容就到这里完成了。
感谢您的阅读。
我是莽夫,希望你开心。

目录
相关文章
|
5天前
|
JavaScript 前端开发 应用服务中间件
angular引入包、路由权限配置、打包问题与nginx配置问题(简单部署)
angular引入包、路由权限配置、打包问题与nginx配置问题(简单部署)
12 0
|
7天前
|
C++
【angular】启动项目和路由配置
【angular】启动项目和路由配置
18 1
|
5月前
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
|
5月前
几个经常用到的angular路由Router、ActivatedRoute 知识点:嵌套路由、路由跳转、路由传参、路由参数获取
几个经常用到的angular路由Router、ActivatedRoute 知识点:嵌套路由、路由跳转、路由传参、路由参数获取
几个经常用到的angular路由Router、ActivatedRoute 知识点:嵌套路由、路由跳转、路由传参、路由参数获取
|
22天前
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
|
5月前
【硬核解说】一口气讲明白Angular的5种路由守卫RouteGuard是嘛玩意儿
【硬核解说】一口气讲明白Angular的5种路由守卫RouteGuard是嘛玩意儿
【硬核解说】一口气讲明白Angular的5种路由守卫RouteGuard是嘛玩意儿
|
23天前
|
存储 前端开发 API
浅谈 Angular 应用前端消息显示机制的一个实际需求
浅谈 Angular 应用前端消息显示机制的一个实际需求
11 0
|
3月前
|
设计模式 JavaScript 前端开发
什么是 Angular 应用里的 Custom provider
什么是 Angular 应用里的 Custom provider
32 2
|
4月前
Angular 应用里异步打开对话框的技术实现
Angular 应用里异步打开对话框的技术实现
22 0
|
23天前
|
存储 JavaScript 前端开发
Angular 应用 node_modules 子文件夹 @types 的作用介绍
Angular 应用 node_modules 子文件夹 @types 的作用介绍
14 1

热门文章

最新文章