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下关于$.Ready()的分析
Dec 13 Javascript
基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码(带平滑移动的效果)
May 24 Javascript
jquery showModelDialog的使用方法示例详解
Nov 19 Javascript
jquery中$.post()方法的简单实例
Feb 04 Javascript
jQuery内容过滤选择器用法分析
Feb 10 Javascript
jQuery图片特效插件Revealing实现拉伸放大
Apr 22 Javascript
javascript用函数实现对象的方法
May 14 Javascript
JavaScript声明变量名的语法规则
Jul 10 Javascript
Jquery实现顶部弹出框特效
Aug 08 Javascript
JavaScript for循环 if判断语句(学习笔记)
Oct 11 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
Sep 16 Javascript
JavaScript实现H5接金币功能(实例代码)
Feb 22 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 clearstatcache()函数详解
2010/03/02 PHP
解析php中array_merge与array+array的区别
2013/06/21 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
2016/08/12 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
php压缩文件夹最新版
2018/07/18 PHP
TP5框架请求响应参数实例分析
2019/10/17 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
JQuery最佳实践之精妙的自定义事件
2010/08/11 Javascript
ajax上传时参数提交不更新等相关问题
2012/12/11 Javascript
使用jquery实现div的tab切换实例代码
2013/05/27 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
2016/03/13 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
2016/04/12 Javascript
jQuery Mobile 和 Kendo UI 的比较
2016/05/05 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
原生js实现抽奖小游戏
2019/06/27 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
Laravel 如何在blade文件中使用Vue组件的示例代码
2020/06/28 Javascript
微信小程序地图实现展示线路
2020/07/29 Javascript
[01:16:28]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第二场 2月23日
2021/03/11 DOTA
Python使用minidom读写xml的方法
2015/06/03 Python
Python函数式编程指南(三):迭代器详解
2015/06/24 Python
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
go和python变量赋值遇到的一个问题
2017/08/31 Python
详解python读取和输出到txt
2019/03/29 Python
浅谈python累加求和+奇偶数求和_break_continue
2020/02/25 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
Python3实现打印任意宽度的菱形代码
2020/04/12 Python
Windows 平台做 Python 开发的最佳组合(推荐)
2020/07/27 Python
python中scrapy处理项目数据的实例分析
2020/11/22 Python
css3的图形3d翻转效果应用示例
2014/04/08 HTML / CSS
台湾最大网路书店:博客来
2018/03/18 全球购物
软件售后服务方案
2014/05/29 职场文书
九一八事变演讲稿
2014/09/05 职场文书
联欢会开场白
2015/06/01 职场文书
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android
详解Vue3使用axios的配置教程
2022/04/29 Vue.js