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

Angular之所以被称为单页面应用,就是因为我们在改变浏览器URL的时候,
不触发刷新当前页面的行为,我们看到的所有的界面,其实是在一个主URL中。
这个功能(功能?现象?表现?随便吧!)就是通过路由实现的。
下面我们先简单的看一个关于路由的例子。
这里写图片描述
当我们点击上面的导航栏时,当前页面的地址会变成类似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>
来设置页面的渲染位置。
根据我们上节课的例子,里面,我们需要反复渲染的是图中标注区域。
这里写图片描述
而保留navbar和网站状态。

导入路由模块

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

新建路由对象

这里写图片描述
我们还是查看Angular中文社区的样式,我们先创建三个路由。
首先我们先创建三个组件。
nggeneratecomponentlatest ng generate component hots
$ ng generate component update
这里需要注意的是,我们使用命令创建组件,会自动被加到@NgModule的declarations中
这里写图片描述
如果你是手动创建组件,那么你需要把所有用到的组件,加到这个位置。
然后我们设置路由参数是这样子的{path:'latest',component:LatestComponent}
path表示路径,component表示路由对应的组件。
然后我们也有可能访问了没有路由的页面,
我们并不希望界面没有渲染,而是被重定向到最新模块。
{path:'',redirectTo:'latest',pathMatch: 'full'}
redirectTo表示的是讲当前路径重定向到另一个路径。
最终我们的router对象就是
这里写图片描述

使用路由配置

刚刚我们已经配置了我们的路由对象,接下来我们要把它引用到我们的项目中。
在@NgModule的imports中加入RouterModule.forRoot(routes)
这里写图片描述
在@NgModule的providers中加入{provide:LocationStrategy,useClass:HashLocationStrategy}
这里涉及到路由策略的内容,我们后续课程单独讲解。
上面的设置就是使用锚标记策略。

设置渲染界面

打开src\index.html在head下面加入<base href="/">
打开\src\app\app.component.html
这里写图片描述
保存运行。
这里写图片描述
点击导航切换
这里写图片描述

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

这节课的内容就到这里完成了。
感谢您的阅读。
我是莽夫,希望你开心。
如果你觉得本文对你有帮助,请扫描文末二维码,支持博主原创。
希望大家关注我的个人公众号ionic_
这里写图片描述

转载于:https://my.oschina.net/xiaohuoni/blog/1547962

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值