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 相关文章推荐
javascript 面向对象编程 万物皆对象
Sep 17 Javascript
JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
Oct 17 Javascript
js事件监听器用法实例详解
Jun 01 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
Sep 15 Javascript
js验证真实姓名与身份证号,手机号的简单实例
Jul 18 Javascript
AngularJS指令详解及示例代码
Aug 16 Javascript
JS实现AES加密并与PHP互通的方法分析
Apr 19 Javascript
JS库之Waypoints的用法详解
Sep 13 Javascript
javascript 产生随机数的几种方法总结
Sep 26 Javascript
JS实现websocket长轮询实时消息提示的效果
Oct 10 Javascript
详解ajax的data参数错误导致页面崩溃
Apr 30 Javascript
JS数据类型STRING使用实例解析
Dec 18 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
?繁体转换的class
2006/10/09 PHP
php中常用编辑器推荐
2007/01/02 PHP
mac系统下为 php 添加 pcntl 扩展
2016/08/28 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
PHP面向对象程序设计之对象生成方法详解
2016/12/02 PHP
通过PHP实现获取访问用户IP
2020/05/09 PHP
js常用排序实现代码
2010/12/28 Javascript
JS实现可点击展开与关闭的左侧广告代码
2015/09/02 Javascript
总结JavaScript中布尔操作符||与&&的使用技巧
2015/11/17 Javascript
javascript随机抽取0-100之间不重复的10个数
2016/02/25 Javascript
jQuery获取单击节点对象的方法
2016/06/02 Javascript
Node.js检测端口(port)是否被占用的简单示例
2016/09/29 Javascript
关于微信上网页图片点击全屏放大效果
2016/12/19 Javascript
Jquery鼠标放上去显示全名的实现方法
2017/02/06 Javascript
JS 实现随机验证码功能
2017/02/15 Javascript
Express + Node.js实现登录拦截器的实例代码
2017/07/01 Javascript
详解nodejs的express如何自动生成项目框架
2017/07/12 NodeJs
详解基于Vue-cli搭建的项目如何和后台交互
2018/06/29 Javascript
vue.js 实现点击展开收起动画效果
2018/07/07 Javascript
Vue.js实现的计算器功能完整示例
2018/07/11 Javascript
JS中min函数实例讲解
2019/02/18 Javascript
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
对python 匹配字符串开头和结尾的方法详解
2018/10/27 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
Python3实现配置文件差异对比脚本
2019/11/18 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
2020/12/17 Python
房地产促销活动方案
2014/03/01 职场文书
路政管理求职信
2014/06/18 职场文书
税务干部群众路线教育实践活动自我剖析材料
2014/09/21 职场文书
2014年企业党支部工作总结
2014/12/04 职场文书
班级元旦晚会开幕词
2015/01/29 职场文书
房租涨价通知
2015/04/23 职场文书
安全教育片观后感
2015/06/17 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书
详解JS数组方法
2021/11/20 Javascript
Go语言编译原理之变量捕获
2022/08/05 Golang