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 相关文章推荐
DIV+CSS+JS不间断横向滚动实现代码
Mar 19 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
Sep 03 Javascript
JS小功能(列表页面隔行变色)简单实现
Nov 28 Javascript
鼠标滑过出现预览的大图提示效果
Feb 26 Javascript
jQuery实现伸展与合拢panel的方法
Apr 30 Javascript
javascript类型系统 Window对象学习笔记
Jan 07 Javascript
Bootstrap创建可折叠的组件
Feb 23 Javascript
修改npm全局安装模式的路径方法
May 15 Javascript
React中使用async validator进行表单验证的实例代码
Aug 17 Javascript
vue-cli配置全局sass、less变量的方法
Jun 06 Javascript
解决Layui当中的导航条动态添加后渲染失败的问题
Sep 25 Javascript
使用Vant完成Dialog弹框案例
Nov 11 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目录与文件操作
2011/12/30 PHP
PHP中使用mktime获取时间戳的一个黑色幽默分析
2012/05/31 PHP
PHPMailer的主要功能特点和简单使用说明
2014/02/17 PHP
php跨域cookie共享使用方法
2014/02/20 PHP
ThinkPHP实现多数据库连接的解决方法
2014/07/01 PHP
php给图片加文字水印
2015/07/31 PHP
mysql desc(DESCRIBE)命令实例讲解
2016/09/24 PHP
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
为javascript添加String.Format方法
2020/08/11 Javascript
Jquery 获得服务器控件值的方法小结
2010/05/11 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
2014/05/27 Javascript
js 操作符汇总
2014/11/08 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
2015/03/04 Javascript
jQuery实现鼠标滑向当前图片高亮显示并且其它图片变灰的方法
2015/07/27 Javascript
javascript实现粘贴qq截图功能(clipboardData)
2016/05/29 Javascript
jquery属性,遍历,HTML操作方法详解
2016/09/17 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
2017/04/07 Javascript
详解Vue用axios发送post请求自动set cookie
2017/05/10 Javascript
原生JavaScript实现的简单放大镜效果示例
2018/02/07 Javascript
nodeJS模块简单用法示例
2018/04/21 NodeJs
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
js实现坦克大战游戏
2020/02/24 Javascript
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
IntelliJ IDEA安装运行python插件方法
2018/12/10 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
Python设计模式之原型模式实例详解
2019/01/18 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
2019/12/18 Python
如何基于python实现画不同品种的樱花树
2020/01/03 Python
Django CSRF认证的几种解决方案
2020/03/03 Python
新兵入伍心得体会
2014/09/04 职场文书
学校百日安全活动总结
2015/05/07 职场文书
导游词之镇江焦山
2019/11/21 职场文书
SpringBoot+VUE实现数据表格的实战
2021/08/02 Java/Android
python开发制作好看的时钟效果
2022/05/02 Python
Win11 21h2可以升级22h2吗?看看你的电脑符不符合要求
2022/07/07 数码科技
JS实现刷新网页后之前浏览位置保持不变示例详解
2022/08/14 Javascript