详解angular中通过$location获取路径(参数)的写法


Posted in Javascript onMarch 21, 2017

我最近在研究angular中通过$location获取路径(参数)的写法,在网上搜索了很多的资料,正好今天有时间,就整理一下!

以下获取与修改的 URL 以  ( http://172.16.0.88:8100/#/homePage?id=10&a=100  ) 为例

【一】获取 (不修改URL)

//获取当前完整的url路径 
var absurl = $locationabsUrl(); 
//http://88:8100/#/homePage?id=10&a=100 
 
// 获取当前url路径(当前url#后面的内容,包括参数和哈希值): 
 var url = $locationurl(); 
 // 结果:/homePage?id=10&a=100  
 
 // 获取当前url的子路径(也就是当前url#后面的内容,不包括参数) 
var pathUrl = $locationpath() 
//结果:/homePage  
 
//获取当前url的协议(比如http,https) 
var protocol = $locationprotocol(); 
//结果:http  
 
//获取主机名 
var localhost = $locationhost(); 
//结果:88 
  
//获取当前url的端口 
var port = $locationport(); 
//结果:8100 
 
//获取当前url的哈希值 
var hash = $locationhash() 
//结果:http://088   
 
 //获取当前url的参数的序列化json对象 
 var search = $locationsearch(); 
 //结果:{id: "10", a: "100"}

【二】修改 (改变URL相关内容)

//1 修改url的子路径部分(也就是当前url#后面的内容,不包括参数): 
 $locationurl('/validation'); 
//结果:http://88:8100/#/validation 
 
 //2 修改url的哈希值部分 
$locationhash('myhash3'); 
//结果:http://88:8100/#/homePage?id=10&a=100#myhash3 
 
//3 修改url的参数部分(第一个参数表示url参数的属性名,第二个参数是该属性名的属性值,如果是已有属性名,则修改,如果不是已有属性,则新增) 
$locationsearch('id','111') 
// 结果(修改参数值):http://88:8100/#/homePage?id=111&a=100 
 
$locationsearch('ids','111') 
// 结果(新增ids参数): http://88:8100/#/homePage?id=111&a=100&ids=111 
 
//一次性修改多个参数 
$locationsearch({id:'55','a':'66'}) 
//结果:http://88:8100/#/homePage?id=55&a=66#myhash3 
 
 //第一个值表示url参数的属性名,如果是已有属性名,则删除该属性,如果不是已有属性,那就等于没改过 
 $locationsearch('age',null)

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 模拟点击广告
Jan 02 Javascript
javascript时间函数基础介绍
Mar 28 Javascript
使用JavaScript开发IE浏览器本地插件实例
Feb 18 Javascript
javascript实现C语言经典程序题
Nov 29 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
Oct 10 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
Jan 12 Javascript
jQuery实现radio第一次点击选中第二次点击取消功能
May 15 jQuery
react-redux中connect()方法详细解析
May 27 Javascript
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
Sep 30 Javascript
浅谈Vue SPA 首屏加载优化实践
Dec 15 Javascript
webpack4 optimization使用总结
Nov 10 Javascript
Echarts实现多条折线可拖拽效果
Dec 19 Javascript
jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码
Mar 21 #jQuery
Linux使用Node.js建立访问静态网页的服务实例详解
Mar 21 #Javascript
在 Angular 中实现搜索关键字高亮示例
Mar 21 #Javascript
js省市区级联查询(插件版&无插件版)
Mar 21 #Javascript
Bootstrap学习笔记 轮播(Carousel)插件
Mar 21 #Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
Mar 21 #Javascript
node安装--linux下的快速安装教程
Mar 21 #Javascript
You might like
php mysql索引问题
2008/06/07 PHP
php adodb连接不同数据库
2009/03/19 PHP
php共享内存段示例分享
2014/01/20 PHP
php事件驱动化设计详解
2016/11/10 PHP
对YUI扩展的Gird组件 Part-1
2007/03/10 Javascript
setTimeout和setInterval的区别你真的了解吗?
2011/03/31 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
2014/06/26 Javascript
jQuery实现鼠标点击弹出渐变层的方法
2015/07/09 Javascript
js判断数组key是否存在(不用循环)的简单实例
2016/08/03 Javascript
Bootstrap源码学习笔记之bootstrap进度条
2016/12/24 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
浅谈vue-lazyload实现的详细过程
2017/08/22 Javascript
vue-cli+webpack项目 修改项目名称的方法
2018/02/28 Javascript
node创建Vue项目步骤详解
2020/03/06 Javascript
Vue实现附件上传功能
2020/05/28 Javascript
Python获取服务器信息的最简单实现方法
2015/03/05 Python
Python解析json文件相关知识学习
2016/03/01 Python
Python自定义类的数组排序实现代码
2016/08/28 Python
分享6个隐藏的python功能
2017/12/07 Python
Python内建模块struct实例详解
2018/02/02 Python
详解Django的CSRF认证实现
2018/10/09 Python
django框架使用方法详解
2019/07/18 Python
wxPython实现分隔窗口
2019/11/19 Python
纯html5+css3下拉导航菜单实现代码
2013/03/18 HTML / CSS
浅谈HTML5新增和废弃的标签
2019/04/28 HTML / CSS
美国汽配连锁巨头Pep Boys官网:轮胎更换、汽车维修服务和汽车零部件
2017/01/14 全球购物
Cinque网上商店:德国服装品牌
2019/03/17 全球购物
校长先进事迹材料
2014/02/01 职场文书
大学生见习期满自我鉴定
2014/09/13 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
教师节标语大全
2014/10/07 职场文书
大学生实习介绍信
2015/05/05 职场文书
2015年预算员工作总结
2015/05/14 职场文书
劳保用品管理制度范本
2015/08/06 职场文书
学习党章心得体会2016
2016/01/15 职场文书
Sentry的安装、配置、使用教程(Sentry日志手机系统)
2022/07/23 Python