介绍
这篇文章主要介绍了角中路由及其用法的示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。
<强>一、角创建一个默认带路由的项目强>
1,命令创建项目
ng新ng-demo——skip-install
2,创建需要的组件
ng g component 组件/回家 ng g  component 组件/新闻 ng g  component 组件/newscontent
3,找到app-routing.module。ts配置路由
引入组件
import {, HomeComponent },得到& # 39;。/组件/home/home.component& # 39;; {},NewsComponent  import 得到& # 39;。/组件/新闻/news.component& # 39;; {import ProductComponent },得到& # 39;。/组件/产品/product.component& # 39;;
配置路由
const 路线:,Routes =, ( {路径:& # 39;回家# 39;,,组件:,HomeComponent}, {路径:& # 39;新闻# 39;,,组件:,NewsComponent}, {路径:& # 39;产品# 39;,,组件:ProductComponent }, {路径:& # 39;* & # 39;,,redirectTo:, & # 39;/回家# 39;,,pathMatch:, & # 39;全# 39;,} ];
4,找到app.component.html根组件模板,配置router-outlet显示动态加载的路由
& lt; h2> ,,,& lt; a routerLink=?home"在首页& lt;/a> ,,,& lt; a routerLink=?news"在新闻& lt;/a> & lt;/h2> & lt; router-outlet> & lt;/router-outlet>
<强>二、角routerLink跳转页面默认路由强>
& lt; a routerLink=?home"在首页& lt;/a> & lt; a  routerLink=?news"在新闻& lt;/a>
//匹配不到路由的时候加载的组件,或者跳转的路由 { ,,,路径:,& # 39;* * & # 39;,,/*任意的路由*/,,,//组件:HomeComponent ,,,redirectTo: & # 39;回家# 39; }
<强>三、角routerLinkActive设置routerLink默认选中路由强>
& lt; h2> & lt;才能a routerLink=?home", routerLinkActive=癮ctive"比; ,,,首页 & lt;才能/a> & lt;才能a routerLink=?news", routerLinkActive=癮ctive"比; ,,,新闻 & lt;才能/a> & lt;/h2>
& lt; h2> ,,,& lt; a [routerLink]=癧, & # 39;/回家# 39;,)“,routerLinkActive=癮ctive"在首页& lt;/a> ,,,& lt; a [routerLink]=癧, & # 39;/新闻# 39;,)“,routerLinkActive=癮ctive"在新闻& lt;/a> & lt;/h2>
<强>四、动态路由强>
<强> 4.1。问号传参强>
跳转方式,页面跳转或js跳转
问号传参的url地址显示为…/列表项? id=1
queryParams属性是固定的
& lt; [routerLink]=癧/列表项的]“;[queryParams]=皗id: item.id}“在
{ {item.name}}
//js跳转
//路由器为ActivatedRoute的实例
import {, Router },得到& # 39;@angular/路由器# 39;; 。 构造函数(private 路由器,路由器),{} 。 this.router.navigate ([& # 39;/newscontent& # 39;], { queryParams才能:{ ,,,的名字:& # 39;兰妮# 39; ,,,id: id ,,}, ,,skipLocationChange: true //可才能以不写,默认为false,设为true时路由跳转浏览器中的url会保持不变,传入的参数依然有效 });
获取参数方式
import {, ActivatedRoute },得到& # 39;@angular/路由器# 39;; 构造函数(public 路线:ActivatedRoute), {,} ngOnInit (), {, ,,,this.route.queryParams.subscribe((数据)=祝辞{ ,,,,,console.log(数据); ,}) }
<强> 4.2路径传参强>
路径传参的url地址显示为…/列表项/1
& lt; a [routerLink]=癧/列表项,,item.id]“祝辞,{{,item.name }}//js跳转,//路由器为ActivatedRoute的实例 this.router.navigate([/列表项,,item.id]);
路径配置:
{路径:,“列表项/:id”,,组件:,ListItemComponent}
获取参数方式
this.route.params.subscribe ( param 才能=祝辞,{ ,,,,,this.id=,参数(& # 39;id # 39;); ,,} )
<强>五,父子路由强>
1,创建组件引入组件