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 相关文章推荐
重定向实现代码
Nov 20 Javascript
JavaScript 入门基础知识 想学习js的朋友可以参考下
Dec 26 Javascript
javascript从右边截取指定字符串的三种实现方法
Nov 29 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
Aug 26 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
Jun 13 Javascript
浅谈javascript中的加减时间
Jul 12 Javascript
Vue 固定头 固定列 点击表头可排序的表格组件
Nov 25 Javascript
微信小程序 动态绑定数据及动态事件处理
Mar 14 Javascript
Vue.js自定义事件的表单输入组件方法
Mar 08 Javascript
利用原生JS实现data方法示例代码
May 28 Javascript
使用JS监听键盘按下事件(keydown event)
Nov 07 Javascript
javascript实现支付宝滑块验证码效果
Jul 24 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+AJAX实现无刷新注册(带用户名实时检测)
2006/12/02 PHP
php图片加中文水印实现代码分享
2012/10/31 PHP
Codeigniter发送邮件的方法
2015/03/19 PHP
PHP多维数组遍历方法(2种实现方法)
2015/12/10 PHP
PHP手机短信验证码实现流程详解
2018/05/17 PHP
PHP扩展Swoole实现实时异步任务队列示例
2019/04/13 PHP
JavaScript学习历程和心得小结
2010/08/16 Javascript
js对象关系图 方便dom操作
2012/03/18 Javascript
JS加jquery简单实现标签元素的显示或隐藏
2013/09/23 Javascript
按下回车键指向下一个位置的一个函数代码
2014/03/10 Javascript
使用GruntJS构建Web程序之Tasks(任务)篇
2014/06/06 Javascript
JavaScript利用append添加元素报错的解决方法
2014/07/01 Javascript
javascript生成随机数方法汇总
2015/11/12 Javascript
JavaScript知识点整理
2015/12/09 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
使用Angular.js实现简单的购物车功能
2016/11/21 Javascript
微信小程序开发探究
2016/12/27 Javascript
jquery.form.js异步提交表单详解
2017/04/25 jQuery
Nodejs实现多房间简易聊天室功能
2017/06/20 NodeJs
使用Node.js实现简易MVC框架的方法
2017/08/07 Javascript
9种方法优化jQuery代码详解
2020/02/04 jQuery
一文读懂vue动态属性数据绑定(v-bind指令)
2020/07/20 Javascript
AI人工智能 Python实现人机对话
2017/11/13 Python
Appium+Python自动化测试之运行App程序示例
2019/01/23 Python
Python Django 添加首页尾页上一页下一页代码实例
2019/08/21 Python
如何基于windows实现python定时爬虫
2020/05/01 Python
关于matplotlib-legend 位置属性 loc 使用说明
2020/05/16 Python
如何在python中实现线性回归
2020/08/10 Python
Python如何测试stdout输出
2020/08/10 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
使用CSS3的font-face字体嵌入样式的方法讲解
2016/05/13 HTML / CSS
法国最大的在线眼镜店:EasyLunettes
2019/08/26 全球购物
复核员上岗演讲稿
2014/01/05 职场文书
沙滩主题婚礼活动策划方案
2014/09/15 职场文书
党员干部群众路线个人整改措施
2014/09/18 职场文书
员工手册编写范本
2015/05/14 职场文书