Angular 路由使用整理(一)
Angular的路由器能让用户从一个视图导航到另一个视图。 Angular2以及以后的版本路由器使用浏览器的history.pushState 进行导航,这样就和多网页应用链接保持一致了,而不是Angular1.x中还用hash(#)风格处理前端路由。 一、基础知识 <base href> 大多数带路由的应用都要在 <base href="/"> 二、使用先导入模块 在app.module.ts中导入路由模块 import { RouterModule,Routes } from '@angular/router'; 三、配置路由定义和路由出口 //定义路由配置 const appRoutes: Routes = [ { path: 'add',component: MenuAddComponent },{ path: 'detail/:id',component: MenuDetailComponent },{ path: 'home',component: EmptyComponent ,data:{title:'测试1'}},{ path: '',redirectTo: '/home',pathMatch: 'full' },//空目录,重定向处理 { path: '**',component: EmptyComponent } //通配符,其他路由失败的,会跳转到这个视图 ];每个带路由的Angular应用都有一个Router(路由器)服务的单例对象。当浏览器的URL变化时,路由器会查找对应的Route(路由),并据此决定改显示哪儿个组件。 使用RouterModule.forRoot() 方法来注册路由定义数组。 @NgModule({ declarations: [ AppComponent,MenuAddComponent,MenuDetailComponent,EmptyComponent,],imports: [ BrowserModule,FormsModule,HttpModule,RouterModule.forRoot(appRoutes) ],providers: [],bootstrap: [AppComponent] }) export class AppModule { }路由定义说明: 1.每个Route都会把一个URL的path映射到一个组件。注意,path不能以斜杠(/)开头。 2.路由的:id是一个路由参数占位符,类似MVC中{id} 4.空路径('')表示应用的默认路径,(**)通配符,最后制定,路由解析也和MVC中安定义顺序先定义先匹配。 路由出口:路由结果内容都显示在这个位置。 <router-outlet></router-outlet> 四、路由链接、路由状态 <li><a routerLink='/home' routerLinkActive="active">首页</a></li> <li><a routerLink='/add' routerLinkActive="active">新增页面</a></li>超链接的RouterLink指令让路由器以控制这个a元素,固定连接使用字符串routerLink绑定,如果需要加动态的导航,那就把它绑定到一个返回连接参数数组的模板表达式,路由器会把这个数组解析成完成的URL。 RouterLinkActive指令可以帮助用户绑定当前活动路由的样式名称。 路由状态 在导航的每个生命周期完成时,路由器会构建出一个ActivedRoute组成的树,他表示路由的当前状态。我们可以在应用的任何地方用Router服务及其routerState属性来访问当前RouterState值。 路由状态为我们提供了从任意激活路由开始向上或向下遍历路由树的一种方式,以获得关于父、子、兄弟的路由信息。 获取路由参数 import {ActivatedRoute} from "@angular/router"; export class AboutList { id: Object; constructor(public route:ActivatedRoute) { this.id = {}; } ngOnInit() { this.route.params.subscribe(params => { this.id = params // {id: "xxx"} }); } } js跳转路由处理 import {Router} from "@angular/router"; constructor(public router: Router) { // 相当于window.location.href,界面跳转 router.navigateByUrl('home'); } 总结一下:
更多: Angular CLI ng常用命令整理 Angular中的模板和表达式简介 更多参考: http://www.52php.cn/article/p-kpcrwsre-d.html http://www.52php.cn/article/p-rtxrujmo-xv.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |