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中的函数
Jan 22 Javascript
jquery入门—选择器实现隔行变色实例代码
Jan 04 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
Jan 15 Javascript
JavaScript实现图片DIV竖向滑动的方法
Apr 25 Javascript
JavaScript笔记之数据属性和存储器属性
Mar 31 Javascript
AngularJS入门教程之表格实例详解
Jul 27 Javascript
原生node.js案例--前后台交互
Feb 20 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
Apr 10 jQuery
使用Xcache缓存器加速PHP网站的配置方法
Apr 22 Javascript
Express结合Webpack的全栈自动刷新
May 23 Javascript
jQuery实现form表单基于ajax无刷新提交方法实例代码
Nov 04 jQuery
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
Apr 25 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
与数据库连接
2006/10/09 PHP
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
2007/12/11 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
2015/10/21 PHP
PHP制作用户注册系统
2015/10/23 PHP
Yii2 rbac权限控制之rule教程详解
2016/06/23 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
jquery 利用show和hidden实现级联菜单示例代码
2013/08/09 Javascript
jQuery中extend函数的实现原理详解
2015/02/03 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
2015/08/03 Javascript
jQuery通过ajax快速批量提交表单数据
2016/10/25 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
javascript replace()第二个参数为函数时的参数用法
2016/12/26 Javascript
JavaScript日期对象(Date)基本用法示例
2017/01/18 Javascript
jQuery中的on与bind绑定事件区别实例详解
2017/02/28 Javascript
vue2中使用less简易教程
2018/03/27 Javascript
JS选取DOM元素常见操作方法实例分析
2018/12/10 Javascript
swiper实现异形轮播效果
2019/11/28 Javascript
[33:15]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VP VS Mineski
2018/03/31 DOTA
Python模块学习 re 正则表达式
2011/05/19 Python
Python XML RPC服务器端和客户端实例
2014/11/22 Python
Python读写文件方法总结
2015/06/09 Python
详解Django中的form库的使用
2015/07/18 Python
Python常见异常分类与处理方法
2017/06/04 Python
Python编程把二叉树打印成多行代码
2018/01/04 Python
python设置随机种子实例讲解
2019/09/12 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
如何利用python之wxpy模块玩转微信
2020/08/17 Python
python如何绘制疫情图
2020/09/16 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
python自动生成sql语句的脚本
2021/02/24 Python
amazeui 验证按钮扩展的实现
2020/08/21 HTML / CSS
美国最大的万圣节服装网站:HalloweenCostumes.com
2017/10/12 全球购物
党员自我剖析材料
2014/08/31 职场文书
处级领导班子全部召开专题民主生活会情况汇报
2014/09/27 职场文书
2015学校六五普法工作总结
2015/04/22 职场文书
PHP中国际化的字符串排序和比较对象详解
2021/08/23 PHP