AngularJS通过$location获取及改变当前页面的URL


Posted in Javascript onSeptember 23, 2016

注意

本文中获取与修改的URL以 ‘http://172.16.0.88:8100/#/homePage?id=10&a=100' 这个路径为例:

一. 获取url的相关方法(不修改URL):

1.获取当前完整的url路径  

var absurl = $location.absUrl(); 
//http://172.16.0.88:8100/#/homePage?id=10&a=100

2. 获取当前url路径(当前url#后面的内容,包括参数和哈希值):  

var url = $location.url(); 
 // 结果:/homePage?id=10&a=100

3. 获取当前url的子路径(也就是当前url#后面的内容,不包括参数) 

var pathUrl = $location.path() 
//结果:/homePage

4.获取当前url的协议(比如http,https) 

var protocol = $location.protocol(); 
//结果:http

5.获取主机名 

var localhost = $location.host(); 
//结果:172.16.0.88

 6.获取当前url的端口 

var port = $location.port(); 
//结果:8100

7.获取当前url的哈希值 

var hash = $location.hash() 
//结果:http://172.16.088

8.获取当前url的参数的序列化json对象  

var search = $location.search(); 
 //结果:{id: "10", a: "100"}

二. 修改url的相关方法(改变URL相关内容):

1 修改url的子路径部分(也就是当前url#后面的内容,不包括参数):  

$location.url('/validation'); 
//结果:http://172.16.0.88:8100/#/validation

2 修改url的哈希值部分 

$location.hash('myhash3'); 
//结果:http://172.16.0.88:8100/#/homePage?id=10&a=100#myhash3

3 修改url的参数部分(第一个参数表示url参数的属性名,第二个参数是该属性名的属性值,如果是已有属性名,则修改,如果不是已有属性,则新增) 

$location.search('id','111') 
// 结果(修改参数值):http://172.16.0.88:8100/#/homePage?id=111&a=100 
 
$location.search('ids','111') 
// 结果(新增ids参数): http://172.16.0.88:8100/#/homePage?id=111&a=100&ids=111

4.一次性修改多个参数 

$location.search({id:'55','a':'66'}) 
//结果:http://172.16.0.88:8100/#/homePage?id=55&a=66#myhash3

5.第一个值表示url参数的属性名,如果是已有属性名,则删除该属性,如果不是已有属性,那就等于没改过  

$location.search('age',null)

三、修改URL但不存入历史记录

在上面的修改url的方法的时候,每修改一次,url都会被存入历史记录,可以使用后退按钮回到修改前的url,如果不想要这种效果,而仅仅是替换当前的记录,可以使用  $location.path('/validation').replace();

总结

以上就是关于AngularJS通过$location获取及改变当前页面URL的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助。如果有疑问大家可以留言交流。

Javascript 相关文章推荐
基于jQuery的message插件实现右下角弹出消息框
Jan 11 Javascript
jquery.fileEveryWhere.js 一个跨浏览器的file显示插件
Oct 24 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
Aug 06 Javascript
JS字符串截取函数实例
Dec 27 Javascript
写给小白的JavaScript引擎指南
Dec 04 Javascript
jQuery+css实现的换页标签栏效果
Jan 27 Javascript
jQuery简单实现遍历单选框的方法
Mar 06 Javascript
H5实现中奖记录逐行滚动切换效果
Mar 13 Javascript
node使用promise替代回调函数
May 07 Javascript
微信小程序之判断页面滚动方向的示例代码
Aug 30 Javascript
vue实现抖音时间转盘
Sep 08 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
May 28 Javascript
AngularJS监听路由的变化示例代码
Sep 23 #Javascript
同步异步动态引入js文件的几种方法总结
Sep 23 #Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
Sep 23 #Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
Sep 23 #Javascript
form表单转Json提交的方法(推荐)
Sep 23 #Javascript
关于验证码在IE中不刷新的快速解决方法
Sep 23 #Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
Sep 23 #Javascript
You might like
PHP利用Cookie设置用户30分钟未操作自动退出功能
2017/07/03 PHP
JavaScript中的Location地址对象
2008/01/16 Javascript
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
IE8提示Invalid procedure call or argument 异常的解决方法
2012/09/30 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
jquery获取复选框被选中的值
2014/04/10 Javascript
浅谈Javascript中深复制
2014/12/01 Javascript
jQuery 处理页面的事件详解
2015/01/20 Javascript
Js实现自定义右键行为
2015/03/26 Javascript
用Move.js配合创建CSS3动画的入门指引
2015/07/22 Javascript
用js屏蔽被http劫持的浮动广告实现方法
2017/08/10 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
JQ图片文件上传之前预览功能的简单实例(分享)
2017/11/12 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
Angular实现的简单定时器功能示例
2017/12/28 Javascript
node中modules.exports与exports导出的区别
2018/06/08 Javascript
vue 使用localstorage实现面包屑的操作
2020/11/16 Javascript
微信小程序自定义底部弹出框功能
2020/11/18 Javascript
[55:16]Mski vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
python中的实例方法、静态方法、类方法、类变量和实例变量浅析
2014/04/26 Python
如何将python中的List转化成dictionary
2016/08/15 Python
Python数据可视化编程通过Matplotlib创建散点图代码示例
2017/12/09 Python
使用PIL(Python-Imaging)反转图像的颜色方法
2019/01/24 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
2019/06/27 Python
python实现登录密码重置简易操作代码
2019/08/14 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
使用OpCode绕过Python沙箱的方法详解
2019/09/03 Python
Python运行异常管理解决方案
2020/03/09 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
canvas实现漂亮的下雨效果的示例
2018/04/18 HTML / CSS
个人简历的自荐信
2013/10/23 职场文书
事业单位辞职信范文
2014/01/19 职场文书
家长学校实施方案
2014/03/15 职场文书
2015年检验员工作总结范文
2015/04/30 职场文书
Python+pyaudio实现音频控制示例详解
2022/07/23 Python