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 相关文章推荐
JavaScript 放大镜 放大倍率和视窗尺寸
May 09 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
Jan 27 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
Oct 20 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
Nov 09 Javascript
使用Promise链式调用解决多个异步回调的问题
Jan 15 Javascript
基于JavaScript实现图片连播和联级菜单实例代码
Jul 28 Javascript
angular中不同的组件间传值与通信的方法
Nov 04 Javascript
详解基于DllPlugin和DllReferencePlugin的webpack构建优化
Jun 28 Javascript
iview实现select tree树形下拉框的示例代码
Dec 21 Javascript
记一次vue去除#问题处理经过小结
Jan 24 Javascript
javascript数据类型中的一些小知识点(推荐)
Apr 18 Javascript
使用vue-router切换页面时实现设置过渡动画
Oct 31 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
索尼SONY ICF-7600A(W)电路分析
2021/03/01 无线电
phpMyAdmin 链接表的附加功能尚未激活的问题
2010/08/01 PHP
PHP UTF8中文字符截断函数代码
2012/09/11 PHP
深入理解php的MySQL连接类
2013/06/07 PHP
php基于CodeIgniter实现图片上传、剪切功能
2016/05/14 PHP
PHP多种序列化/反序列化的方法详解
2017/06/23 PHP
PHP实现PDO操作mysql存储过程示例
2019/02/13 PHP
PHP+Ajax简单get验证操作示例
2019/03/02 PHP
JavaScript对象学习经验整理
2013/10/12 Javascript
javascript移出节点removeChild()使用介绍
2014/04/03 Javascript
JQuery中的事件及动画用法实例
2015/01/26 Javascript
12种JavaScript常用的MVC框架比较分析
2015/11/16 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
JS模拟实现方法重载示例
2016/08/03 Javascript
ReactNative-JS 调用原生方法实例代码
2016/10/08 Javascript
JS声明式函数与赋值式函数实例分析
2016/12/13 Javascript
JavaScript中transform实现数字翻页效果
2017/03/08 Javascript
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
2018/05/09 jQuery
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
[34:47]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第一场 11.18
2020/11/18 DOTA
Python实现发送email的几种常用方法
2014/08/18 Python
Python深入学习之闭包
2014/08/31 Python
tensorflow实现softma识别MNIST
2018/03/12 Python
python爬虫 使用真实浏览器打开网页的两种方法总结
2018/04/21 Python
python使用pygame模块实现坦克大战游戏
2020/03/25 Python
Python生成随机验证码代码实例解析
2020/06/09 Python
python实现取余操作的简单实例
2020/08/16 Python
python两个list[]相加的实现方法
2020/09/23 Python
python读写数据读写csv文件(pandas用法)
2020/12/14 Python
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
优秀应届生推荐信
2013/11/09 职场文书
大学生村官任职感言
2014/01/09 职场文书
好书伴我成长演讲稿
2014/05/14 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript
Python集合的基础操作
2021/11/01 Python
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript