对angular4子路由&辅助路由详解


Posted in Javascript onOctober 09, 2018

子路由学习笔记:

子路由和路由一样的配置方法,都是声明好路由的入口,路由的路径,路由的出口,不一样的是自路由是嵌套在副路由里面的并且由children表明这是子路由且可以无限循环嵌套。

路由入口:需要注意的是在子路由的入口处不能再用/来跟路径名,/会告诉angular去找跟组件,就会找到跟组件对应的模块,子路由需要用./

1.设置根路由入口:在模板(html)上设置,路由入口就是点击哪里开始路由到新组件(点击首页到首页去)

<a [routerLink]="['/']">主页</a>
<a [routerLink]="['/product']" [queryParams]="{id:1}">商品详情</a>
<a [routerLink]="['/home',2]">主页</a>

子路由入口:(子路由是./)字路由是路由里面套的路由可以无限嵌套。

<a [routerLink]="['./']">商品描述</a>
<a [routerLink]="['./seller',99]">商品描述</a>

路由出口(路由出口是指新的组件将在哪里显示。入口指定什么时候加载新组件,出口指加载完的组件显示在哪里):路由的出口和入口均在模板里面设置

<router-outlet></router-outlet>

路由路径:当路由的出口入口都设置好了的时候就来配置路由的路径。路径指定了当访问哪条路径的时候加载哪个模板

const routes:Routes=[
 {path:'',redirectTo:'/home',pathMatch:'full'},
 {path:'product',component:ProductComponent,children:[
 {path:'',component:ProductdescComponent} ,
 {path:'seller/:id',component:SellerComponent}
 ]},
 {path:'home/:id',component:HomeComponent},//整个路径被划分成两段变量,一段是路径,一段时参数
 {path:'**',component:Code404Component}//通配符,当路径找不到的时候访问
];

辅助路由:

分三步:

1.在主路由的插座也就是出口处定义一个辅助路由插座:也就是定义个辅助路由的出口:辅助路由的出口定义和主路由一样,只是辅助路由比主路由多了一个name属性:用来指定辅助路由显示那几个组件

这里指辅助路由显示outlet叫做aux对应的组件

<router-outlet></router-outlet>
<router-outlet name="aux"></router-outlet>

2.配置辅助路由路径:必须加一个outlet属性,指定该路由显示在名字叫什么的辅助路由出口(插座)上;

这里指当访问chat时加载XchatComponnet显示在名字叫aux的这个辅助路由出处。

{path:'chat',component:XhatComponent,outlet:'aux'},

3.配置入口参数:辅助路由的参数将是一个对象,这个对象里面有一个属性outlets,这个属性的值也是一个对象,该对象里面传一个name属性指定要显示的辅助路由的名字,值是该辅助路由需要显示的组件路径;比如下面:名字叫aux的辅助路由将显示路径为chat的组件

需要注意的是当不希望辅助路由显示的时候可以吧name设置为null。

这里指点击开始聊天的时候加载路径为chat对应的组件,显示在名字叫做aux的辅助路由出口上。

<a [routerLink]="[{outlets:{aux:'chat'}}]">开始聊天</a>
<a [routerLink]="[{outlets:{aux:null}}]">结束聊天</a>

当希望跳转辅助路由的同时主路由跳转到指定的组件的时候:可以在入口文件加一个属性:primary,属性的值是需要跳转的主组件的路由路径例如下面点击聊天的同时不管目前在哪个组件下主路由都会跳转回home路径下的组件

<a [routerLink]="[{outlets:{primary:home, aux:'chat'}}]">开始聊天</a>

以上这篇对angular4子路由&辅助路由详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript引用对象的方法代码
Aug 13 Javascript
jQuery学习笔记之jQuery的事件
Dec 22 Javascript
JS图片无缝滚动(简单利于使用)
Jun 17 Javascript
jQuery使用之处理页面元素用法实例
Jan 19 Javascript
JavaScript实现动态删除列表框值的方法
Aug 12 Javascript
javascript表单事件处理方法详解
May 15 Javascript
Node 自动化部署的方法
Oct 17 Javascript
深入理解es6块级作用域的使用
Mar 28 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
May 08 Javascript
vue如何使用async、await实现同步请求
Dec 09 Javascript
JS实现简单的表格增删
Jan 16 Javascript
小程序自定义导航栏兼容适配所有机型(附完整案例)
Apr 26 Javascript
angular 未登录状态拦截路由跳转的方法
Oct 09 #Javascript
AngularJs1.x自定义指令独立作用域的函数传入参数方法
Oct 09 #Javascript
angularJS1 url中携带参数的获取方法
Oct 09 #Javascript
AngularJS $http post 传递参数数据的方法
Oct 09 #Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
Oct 09 #Javascript
angularJS自定义directive之带参方法传递详解
Oct 09 #Javascript
Vue中的作用域CSS和CSS模块的区别
Oct 09 #Javascript
You might like
ThinkPHP 3.2.3实现页面静态化功能的方法详解
2017/08/03 PHP
基于thinkphp6.0的success、error实现方法
2019/11/05 PHP
一些技巧性实用js代码小结
2009/10/14 Javascript
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
浅谈JavaScript Array对象
2014/12/29 Javascript
JavaScript实现SHA-1加密算法的方法
2015/03/11 Javascript
jQuery背景插件backstretch使用指南
2015/04/21 Javascript
js实现不提交表单获取单选按钮值的方法
2015/08/21 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
2017/01/21 Javascript
Angular通过angular-cli来搭建web前端项目的方法
2017/07/27 Javascript
JavaScript实现省市联动过程中bug的解决方法
2017/12/04 Javascript
详解vue组件基础
2018/05/04 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
vue cli3.0结合echarts3.0与地图的使用方法示例
2019/03/26 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
vue结合el-upload实现腾讯云视频上传功能
2020/07/01 Javascript
JS使用setInterval计时器实现挑战10秒
2020/11/08 Javascript
JavaScript字符串转数字的简单实现方法
2020/11/27 Javascript
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
python学习教程之Numpy和Pandas的使用
2017/09/11 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
python实现移位加密和解密
2019/03/22 Python
python之信息加密题目详解
2019/06/26 Python
Python中SQLite如何使用
2020/05/27 Python
HTML5画渐变背景图片并自动下载实现步骤
2013/11/18 HTML / CSS
html5定位并在百度地图上显示的示例
2014/04/27 HTML / CSS
英国最大的婴儿监视器网上商店:Baby Monitors Direct
2018/04/24 全球购物
荷兰游戏商店:Allyouplay
2019/03/16 全球购物
财务管理专业毕业生求职信范文
2013/09/21 职场文书
暖通工程师岗位职责
2014/06/12 职场文书
Go语言应该什么情况使用指针
2021/07/25 Golang
Python 中的 copy()和deepcopy()
2021/11/07 Python
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js
vue使用element-ui按需引入
2022/05/20 Vue.js