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

【一】获取 (不修改URL)

  1. //1.获取当前完整的url路径
  2. var absurl = $location.absUrl();
  3. //http://172.16.0.88:8100/#/homePage?id=10&a=100
  4. //2. 获取当前url路径(当前url#后面的内容,包括参数和哈希值):
  5. var url = $location.url();
  6. // 结果:/homePage?id=10&a=100
  7. //3. 获取当前url的子路径(也就是当前url#后面的内容,不包括参数)
  8. var pathUrl = $location.path()
  9. //结果:/homePage
  10. //4.获取当前url的协议(比如http,https)
  11. var protocol = $location.protocol();
  12. //结果:http
  13. //5.获取主机名
  14. var localhost = $location.host();
  15. //结果:172.16.0.88
  16. //6.获取当前url的端口
  17. var port = $location.port();
  18. //结果:8100
  19. //7.获取当前url的哈希值
  20. var hash = $location.hash()
  21. //结果:http://172.16.088
  22. //8.获取当前url的参数的序列化json对象
  23. var search = $location.search();
  24. //结果:{id: "10", a: "100"}

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

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

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

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

angular中通过$location获取路径(参数)的写法的更多相关文章

  1. Angular中通过$location获取地址栏的参数详解

    Angular中通过$location获取url中的参数 最近,项目开发正在进行时,心有点燥,许多东西没来得及去研究,今天正想问题呢,同事问到如何获取url中的参数,我一时半会还真没想起来,刚刚特意研 ...

  2. Angularjs中使用$location获取url参数时,遇到的坑~~~

    今天在开发时候,需要用到Angularjs1.4.6获取url参数,网上查了一下,有部分文章提到用$location来获取.大致方法如下 var app = angular.module('myApp ...

  3. spring mvc获取路径参数的几种方式 - 浅夏的个人空间 - 开源中国社区

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  4. 获取window.location.href路径参数

    GetQueryString(param) { //param为要获取的参数名 注:获取不到是为null var currentUrl = window.location.href; //获取当前链接 ...

  5. 如何从angular2中的url获取查询参数?

    问题描述 我使用angular2.0.0-beta.7.当组件在像”/path?query=value1″这样的路径上加载时,它被重定向到”/path”.为什么删除了GET参数?如何保留参数? 路由器 ...

  6. 【转】AngularJs $location获取url参数

    // 带#号的url,看?号的url,见下面 url = http://qiaole.sinaapp.com?#name=cccccc $location.absUrl(); // http://qi ...

  7. springMVC参数的传递方式(1.通过@PathVariabl获取路径参数,2.@ModelAttribute获取数据,3.HttpServletRequest取参,4@RequestParam)

     通过@PathVariabl注解获取路径中传递参数 JAVA      @RequestMapping(value = "/{id}/{str}")      public  ...

  8. js获取路径参数对象

    /** * 获取页面路径参数值 */ function getParams(key) { var result = {}; var paramStr = encodeURI(window.docume ...

  9. spring mvc获取路径参数的几种方式

    一.从视图向controller传递值,  controller <--- 视图 1.通过@PathVariabl注解获取路径中传递参数 (参数会被复制到路径变量) @RequestMappin ...

随机推荐

  1. (转)yum & wget代理设置

    转自 http://www.cnblogs.com/windows/archive/2012/12/14/2817533.html   yum  配置代理服务器访问要设置所有 yum 操作都使用代理服 ...

  2. hdu 5375 Gray code dp

    #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; cons ...

  3. ios本地相册 照像 本地视频

    -(IBAction)btnClick{ UIActionSheet* actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate: ...

  4. MySQL之SQL mode——检查官

    原文:MySQL之SQL mode--检查官 MySQL升级后代码出bug? 前段时间,测试的MySQL服务器进行了一次升级,从MySQL5.6升级到了MySQL5.7.以为是简单的升级,不会影响到代 ...

  5. UILabel调整字间距

    1.引入 在文件导入 #import <CoreText/CoreText.h> 2.程序 NSMutableAttributedString *attributedString =[[N ...

  6. [RxJS] Implement pause and resume feature correctly through RxJS

    Eventually you will feel the need for pausing the observation of an Observable and resuming it later ...

  7. Behavioral模式之Memento模式

    1.意图 在不破坏封装性的前提下,捕获一个对象的内部状态.并在该对象之外保存这个状态,这样以后就可将该对象恢复到原先保存的状态. 2.别名 Token 3.动机 有时候有必要记录一个对象的内部状态.为 ...

  8. 在ArcEngine下实现图层属性过滤的两种方法

    转自chanyinhelv原文 在ArcEngine下实现图层属性过滤的两种方法 Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* ...

  9. 使用JSONP解决跨域问题-代码示例

    前段时间用JSONP解决了跨域问题,现在不用了,把代码思路记下来,今后说不定还用得上. JS代码 //查询公告数据 function recentpost(){ $.getJSON(cmsUrl+&q ...

  10. 【t030】数字构造

    Time Limit: 3 second Memory Limit: 256 MB [问题描述] 有这么一个游戏: 写出一个1-N的排列a[i],然后每次将相邻两个数相加,构成新的序列,再对新序列进行 ...