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 遮罩层实现(mask)实现代码
Jan 09 Javascript
浅析javascript操作 cookie对象
Dec 26 Javascript
javascript实现youku的视频代码自适应宽度
May 25 Javascript
基于jQuery实现选取月份插件附源码下载
Dec 28 Javascript
JavaScript头像上传插件源码分享
Mar 29 Javascript
Bootstrap每天必学之轮播(Carousel)插件
Apr 25 Javascript
解决微信浏览器Javascript无法使用window.location.reload()刷新页面
Jun 21 Javascript
微信小程序 数据交互与渲染实例详解
Jan 21 Javascript
轻松理解JavaScript闭包
Mar 14 Javascript
浅谈关于.vue文件中style的scoped属性
Aug 19 Javascript
解决element-ui中下拉菜单子选项click事件不触发的问题
Aug 22 Javascript
详解vue 图片上传功能
Apr 30 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
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
php分页函数示例代码分享
2014/02/24 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
2016/09/19 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
指定js可访问其它域名的cookie的方法
2007/09/18 Javascript
JS获取父节点方法
2009/08/20 Javascript
用Javascript来生成ftp脚本的小例子
2013/07/03 Javascript
JavaScript中为什么null==0为false而null大于=0为true(个人研究)
2013/09/16 Javascript
两个数组去重的JS代码
2013/12/04 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
2014/11/26 Javascript
Jquery 实现弹出层插件
2015/01/28 Javascript
微信JSSDK上传图片
2015/08/23 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
Bootstrap Fileinput文件上传组件用法详解
2016/05/10 Javascript
BootStrap+Angularjs+NgDialog实现模式对话框
2016/08/24 Javascript
react+redux的升级版todoList的实现
2017/12/18 Javascript
最后说说Vue2 SSR 的 Cookies 问题
2018/05/25 Javascript
Angular使用cli生成自定义文件、组件的方法
2018/09/04 Javascript
解决layer弹出层自适应页面大小的问题
2019/09/16 Javascript
Python的多维空数组赋值方法
2018/04/13 Python
Python之Numpy的超实用基础详细教程
2019/10/23 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
2020/05/04 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
2020/10/26 Python
Python3中对json格式数据的分析处理
2021/01/28 Python
python抢购软件/插件/脚本附完整源码
2021/03/04 Python
html5 乒乓球(碰撞检测)实例二
2013/07/25 HTML / CSS
物流经理自我评价
2013/09/23 职场文书
如何做好总经理助理
2013/11/12 职场文书
商务专员岗位职责
2013/11/23 职场文书
酒店总经理助理职责
2014/02/12 职场文书
小学生思想品德评语
2014/12/31 职场文书
热爱劳动主题班会
2015/08/14 职场文书
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python
MySQL数据库⾼可⽤HA实现小结
2022/01/22 MySQL