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 相关文章推荐
解读IE和firefox下JScript和HREF的执行顺序
Jan 12 Javascript
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
Oct 20 Javascript
jquery实现输入框动态增减的实例代码
Jul 14 Javascript
Jquery操作js数组及对象示例代码
May 11 Javascript
jQuery ready()和onload的加载耗时分析
Sep 08 Javascript
详解Vue如何支持JSX语法
Nov 10 Javascript
Angular实现的敏感文字自动过滤与提示功能示例
Dec 29 Javascript
详解webpack自定义loader初探
Aug 29 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
Dec 11 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
Mar 06 Javascript
微信小程序 自定义复选框实现代码实例
Sep 04 Javascript
JS实现音乐钢琴特效
Jan 06 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 发送带附件邮件示例
2014/01/23 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
2019/05/08 PHP
(jQuery,mootools,dojo)使用适合自己的编程别名命名
2010/09/14 Javascript
利用JQuery的load函数动态加载其它页面的内容的实现代码
2010/12/14 Javascript
Javascript实现DIV滚动自动滚动到底部的代码
2012/03/01 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
jquery弹出关闭遮罩层实例
2013/08/06 Javascript
ExtJS的拖拽效果示例
2013/12/09 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史
2015/01/09 Javascript
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
2015/03/13 Javascript
Jquery数字上下滚动动态切换插件
2015/08/08 Javascript
VUE v-model表单数据双向绑定完整示例
2019/01/21 Javascript
详解iframe跨域的几种常用方法(小结)
2019/04/29 Javascript
基于Python的身份证号码自动生成程序
2014/08/15 Python
Python英文文本分词(无空格)模块wordninja的使用实例
2019/02/20 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
Keras loss函数剖析
2020/07/06 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
法国太阳镜店:Sunglasses Shop
2016/08/27 全球购物
日本快乐生活方式购物网站:Shop Japan
2018/07/17 全球购物
英国领先的餐饮折扣俱乐部:Gourmet Society
2020/07/26 全球购物
经典c++面试题二
2015/08/14 面试题
关于Java finally的面试题
2016/04/27 面试题
出口公司经理求职简历中的自我评价
2013/10/13 职场文书
大学活动策划书范文
2014/01/10 职场文书
省三好学生申请材料
2014/01/22 职场文书
乡镇交通安全实施方案
2014/03/29 职场文书
大学社团计划书
2014/05/01 职场文书
保险公司演讲稿
2014/09/02 职场文书
总经理岗位职责范本
2015/04/01 职场文书
八年级数学教学反思
2016/02/17 职场文书
爱心捐款倡议书:点燃希望,传递温暖
2019/11/04 职场文书
go使用Gin框架利用阿里云实现短信验证码功能
2021/08/04 Golang