angular 之路由
1、用angular-cli建一个工程自带路由怎么做?
命令:ng new 项目名 --routing
2、怎么使用路由器和路由器的一些基本使用。
//html页面 <a routerLink="/page1r" routerLinkActive="active">page1</a>
<a routerLink="/page2" routerLinkActive="active">page2</a>
<a routerLink="/admin" routerLinkActive="active">Admin</a>
<a [routerLink]="[{ outlets: { popup: ['compose'] } }]">Contact</a> //'outlets'指定路由内容放置到那个router-outlet 容器内位置 <router-outlet></router-outlet>
<router-outlet name="popup"></router-outlet>
//ts页面
import { Routes, RouterModule } from '@angular/router';
const routes : Routes = [ {path: '',redirectTo:"/page1",pathMatch:"full"},//重定向
{path: 'page1',component:Page1Component},//路径定向
{path: 'page2',component:Page2Component},
{ path: 'compose', component: ComposeMessageComponent, outlet: 'popup' }, //路由到router-outlet属性名name 值为“popup”的路由容器上
{path: '**',component:Page404Component},//注意 路由是从上到下找的,所以不要把万能匹配放到前面去,不然在其后面的路由将会失效,
//所以404路由永远是放在最后面的
];
@NgModule(
{ imports: [ RouterModule.forRoot( appRoutes )//如果时分支路由这时要改成forChild(分支路由名) ],
exports: [ RouterModule ] }
)
3、路由传参
如果你想路由传参可用2种方式 :
路由参数(paramMap)和查询参数(queryParamMap)中的参数访问;
如: 路由是这样写的
//路由位置 http://localhost:4200/page1/fan/page3/lia?fang=1&liang=2#qwer
<a [routerLink]="['/page1','fan','page3','lia']" routerLinkActive="active" [queryParams]="{'fang':1,'liang':2}" fragment="qwer">page1</a>
{path: 'page1/:id/page3/:id1',component:Page1Component}
// ..ts
import {ActivatedRoute} from '@angular/router';//路由参数获取用‘ActivatedRoute’
constructor(
private _activatedRoute:ActivatedRoute
) {
ngOnInit() {
this._activatedRoute.queryParamMap
.subscribe(rap=>{ //这时是获得查询参数{'fang':1,'liang':2}
console.log(rap)
});
this._activatedRoute.paramMap
.subscribe(rap=>{//这里是获得路由参数{'id':1,'id1':2}
console.log(rap)
})
}
总结:
看了很多路angular路由文,反过来再看angular官网路由,发现其实官网写的最好,只是太多了,一时收获不了,当看多了细碎的路由文后再头看官网其实多读几篇就基本都知道用了
官方:https://www.angular.cn/guide/router
angular 之路由的更多相关文章
- Angular 4 路由介绍
Angular 4 路由 1. 创建工程 ng new router --routing 2. 创建home和product组件 ng g component home ng g component ...
- angular -- ng-ui-route路由及其传递参数?script标签版
考虑到 多视图等因素,所以 angular 的路由考虑使用 ng-ui-route来做,而不使用 ng-route来做! <!DOCTYPE html> <html lang=&qu ...
- angular 前端路由不生效解决方案
angular 前端路由不生效解决方案 Intro 最近使用 Angular 为我的活动室预约项目开发一个前后端分离的客户端,在部署上遇到了一个问题,前端路由不生效,这里记录一下.本地开发正常,但是部 ...
- Angular配置路由以及动态路由取值传值跳转
Angular配置路由 1.找到 app-routing.module.ts 配置路由 引入组件 import { HomeComponent } from './home/home.componen ...
- angular的路由
AngularJS 路由允许我们通过不同的 URL 访问不同的内容. 通过 AngularJS 可以实现多视图的单页Web应用(single page web application,SPA). 下面 ...
- angular中路由的实现(针对新手)
最近搜了一下网上的教程,看完总感觉有点糊涂,对于新手来说可能云里雾里,所以写一个最简单的路由来给大家做个指引. 首先当然需要准备angular,下载地址:https://angular.io/ 现在a ...
- 关于Iscroll.js 的滑动和Angular.js路由冲突问题
Iscroll主要应用于app移动端开发. 主要代码: window.onload=function(){ var myIscroll=new IScroll(".headerNav&quo ...
- 理解 angular 的路由功能
相信很多人使用angular 都是因为他路由功能而用的 深入理解ANGULARUI路由_UI-ROUTER 最近在用 ionic写个webapp 看到几个demo中路由有好几种,搞的有点晕,查下资料研 ...
- Angular动画——路由动画及高阶动画函数
一.路由动画 路由动画需要在host元数据中指定触发器.动画注意不要过多,否则适得其反. 内容优先,引导用户去注意到某个内容.动画只是辅助手段. 定义一个进场动画,一个离场动画. 因为进场动画和离场动 ...
随机推荐
- Visual Studio 2017正式版离线安装方法
Visual Studio 2017 RTM正式版离线安装及介绍. 首先至官网下载:https://www.visualstudio.com/zh-hans/downloads/ VS 2017 正式 ...
- 沈阳网络赛J-Ka Chang【分块】【树状数组】【dfs序】
Given a rooted tree ( the root is node 11 ) of NN nodes. Initially, each node has zero point. Then, ...
- [ASP.NET]从Request.Url获取根网址的最简单方法
在拼接绝对路径的网址时,经常需要从Request.Url中获取根网址(比如http://www.cnblogs.com),然后与相对路径一起拼接为绝对路径. 以前的做法如下: var uri = Re ...
- Python开发【Django】:Model操作(二)
Model操作 1.操作汇总: # 增 # # models.Tb1.objects.create(c1='xx', c2='oo') 增加一条数据,可以接受字典类型数据 **kwargs # obj ...
- 洛谷P5151 HKE与他的小朋友 快速幂/图论+倍增
正解:矩阵快速幂/tarjan+倍增 解题报告: 传送门! 跟着神仙做神仙题系列III 这题首先一看到就会想到快速幂趴?就会jio得,哦也不是很难哦 然而,看下数据范围,,,1×105,,,显然开不下 ...
- window 安装 Twisted 遇到的问题
scapy 需要Twisted17.1.0, Twisted报错 building 'twisted.test.raiser' extension 用Twisted 16.1.0 可以安装,使用时 I ...
- 测试命令运行时间:timeit和profile
先说timeit from timeit import Timer def test1(): n=0 for i in range(101): n+=i return n def test2(): r ...
- win安装mysql
在这讲解的是有关于通过zip解压安装MySQL的方法.有看了网上的其它的教程,讲的有些不够完善,也自己写一篇简述一下.个人还是建议看官方的参考文档非常之详细:https://dev.mysql.com ...
- mysql备份的4种方式
mysql备份的4种方式 转载自:https://www.cnblogs.com/SQL888/p/5751631.html 总结: 备份方法 备份速度 恢复速度 便捷性 功能 一般用于 cp 快 快 ...
- oracle基于3种方法的大数据量插入更新
过程插入更新的3种方法: a.逐条检查插入或更新,同时执行插入或更新 b.逐条merge into(逐条是为了记录过程日志与错误信息) c.基于关联数组的检查插入.更新,通过forall批量sql执行 ...