Angular学习教程之RouterLink花式跳转


Posted in Javascript onMay 03, 2018

前言

除了使用Router的navigate()方法切换路由,Angular2还提供了一个指令用来 将一个DOM对象增强为路由入口:

@View({
directives:[RouterOutlet,RouterLink]
template : `<nav>
<b router-link="video">video</b> | 
<b router-link="music">music</b>
</nav>
<router-outlet></router-outlet>`
})

RouterLink指令为宿主DOM对象添加click事件监听,在触发时调用Router的 navigate()方法进行路由。

不过本文主要介绍的是关于Angular之RouterLink花式跳转的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

routerLink本身支持两种写法:

<a routerLink="detail">
</a>

<a [routerLink]="['detail']">
</a>

routerLink的值有哪些写法,又有什么区别呢?

假设当前路由为

`http://localhost:4200/#/doc/license`

写法1 : 绝对路径  / + 路由名字

<!--跳到 http://localhost:4200/#/doc/license -->
 <a [routerLink]="['/doc/demo']" >跳呀跳</a>
 
 <!--跳到 http://localhost:4200/#/demo -->
 <a [routerLink]="['/demo']" >跳呀跳</a>

那么url是

http://localhost:4200/#/doc/demo上跳转,即 http://localhost:4200/#/ + 你要跳转的绝对路径。

写法2 : 一个路由名字 路由名字

<a [routerLink]="['demo']" >跳呀跳</a>

那么url是http://localhost:4200/#/doc/license/(demo),即http://localhost:4200/#/doc/license + 你要跳转的绝对路径,这时候它会给你的路由加些东西变成 /(demo),跳转不了。

写法3 :相对路径 ../路由名字

<a [routerLink]="['../demo']" >跳呀跳</a>

那么url是

http://localhost:4200/#/doc/demo,即 http://localhost:4200/#/doc + 你要跳转的相对路径。它会从上一级开始寻找。

写法4  : ./路由名字, 即现在的路由+你写的要跳去的路由

<a [routerLink]="['./demo']" >跳呀跳</a>

那么url是

http://localhost:4200/#/doc/license/demo上,即 http://localhost:4200/#/doc/license + 你要跳转的相对路径。它会从当前路由的下一级开始寻找此匹配的路由进行跳转。

| 更多API用法更新于 github

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jQuery 使用手册(六)
Sep 23 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
Apr 11 Javascript
JavaScript面向对象之私有静态变量实例分析
Jan 14 Javascript
jQuery实现右下角可缩放大小的层完整实例
Jun 20 Javascript
又一款js时钟!transform实现时钟效果
Aug 15 Javascript
jQuery实现可展开折叠的导航效果示例
Sep 12 Javascript
详解微信开发中snsapi_base和snsapi_userinfo及静默授权的实现
Mar 11 Javascript
整理关于Bootstrap警示框的慕课笔记
Mar 29 Javascript
微信小程序如何获取群聊的openGid以及名称详解
Jul 17 Javascript
vue 兄弟组件的信息传递的方法实例详解
Aug 30 Javascript
vue使用nprogress加载路由进度条的方法
Jun 04 Javascript
Vue按时间段查询数据组件使用详解
Aug 21 Javascript
JS中判断某个字符串是否包含另一个字符串的五种方法
May 03 #Javascript
Vue表单类的父子组件数据传递示例
May 03 #Javascript
Webpack path与publicPath的区别详解
May 03 #Javascript
Webpack中publicPath路径问题详解
May 03 #Javascript
Angular Renderer (渲染器)的具体使用
May 03 #Javascript
react router4+redux实现路由权限控制的方法
May 03 #Javascript
vue.js学习笔记之v-bind和v-on解析
May 03 #Javascript
You might like
PHP合并两个数组的两种方式的异同
2012/09/14 PHP
php通过strpos查找字符串出现位置的方法
2015/03/17 PHP
写给想学习Javascript的朋友一点学习经验小结
2010/11/23 Javascript
javascript中不等于的代码是什么怎么写
2013/12/29 Javascript
jquery提交form表单简单示例分享
2014/03/03 Javascript
JavaScript中使用arguments获得函数传参个数实例
2014/08/27 Javascript
html的DOM中document对象forms集合用法实例
2015/01/21 Javascript
JavaScript实现简单的tab选项卡切换
2016/01/05 Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
2018/06/26 Javascript
解决vue单页路由跳转后scrollTop的问题
2018/09/03 Javascript
Js中使用正则表达式验证输入是否有特殊字符
2018/09/07 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
vue踩坑记-在项目中安装依赖模块npm install报错
2019/04/02 Javascript
微信小程序实现简单文字跑马灯
2020/05/26 Javascript
快速了解Vue父子组件传值以及父调子方法、子调父方法
2020/07/15 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
2020/07/27 Javascript
Linux下Python获取IP地址的代码
2014/11/30 Python
介绍Python的Django框架中的QuerySets
2015/04/20 Python
Python实现霍夫圆和椭圆变换代码详解
2018/01/12 Python
python实现日常记账本小程序
2018/03/10 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
2018/05/30 Python
Python3中bytes类型转换为str类型
2018/09/27 Python
解决python3中cv2读取中文路径的问题
2018/12/05 Python
Django 实现admin后台显示图片缩略图的例子
2019/07/28 Python
Python连接mysql数据库及简单增删改查操作示例代码
2020/08/03 Python
土耳其新趋势女装购物网站:Addax
2020/01/07 全球购物
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
搬家公司的创业计划书
2014/01/01 职场文书
初中科学教学反思
2014/01/21 职场文书
开学典礼感言
2014/02/16 职场文书
乡村文明行动实施方案
2014/03/29 职场文书
2014年综治宣传月活动总结
2014/04/28 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
《孙子兵法》:欲成大事者,需读懂这些致胜策略
2019/08/23 职场文书
浅谈MySQL user权限表
2021/06/18 MySQL