angular中通过$location获取路径(参数)的写法
以下获取与修改的 URL 以 ( http://172.16.0.88:8100/#/homePage?id=10&a=100 ) 为例
【一】获取 (不修改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相关内容)
- //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();
angular中通过$location获取路径(参数)的写法的更多相关文章
- Angular中通过$location获取地址栏的参数详解
Angular中通过$location获取url中的参数 最近,项目开发正在进行时,心有点燥,许多东西没来得及去研究,今天正想问题呢,同事问到如何获取url中的参数,我一时半会还真没想起来,刚刚特意研 ...
- Angularjs中使用$location获取url参数时,遇到的坑~~~
今天在开发时候,需要用到Angularjs1.4.6获取url参数,网上查了一下,有部分文章提到用$location来获取.大致方法如下 var app = angular.module('myApp ...
- spring mvc获取路径参数的几种方式 - 浅夏的个人空间 - 开源中国社区
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- 获取window.location.href路径参数
GetQueryString(param) { //param为要获取的参数名 注:获取不到是为null var currentUrl = window.location.href; //获取当前链接 ...
- 如何从angular2中的url获取查询参数?
问题描述 我使用angular2.0.0-beta.7.当组件在像”/path?query=value1″这样的路径上加载时,它被重定向到”/path”.为什么删除了GET参数?如何保留参数? 路由器 ...
- 【转】AngularJs $location获取url参数
// 带#号的url,看?号的url,见下面 url = http://qiaole.sinaapp.com?#name=cccccc $location.absUrl(); // http://qi ...
- springMVC参数的传递方式(1.通过@PathVariabl获取路径参数,2.@ModelAttribute获取数据,3.HttpServletRequest取参,4@RequestParam)
通过@PathVariabl注解获取路径中传递参数 JAVA @RequestMapping(value = "/{id}/{str}") public ...
- js获取路径参数对象
/** * 获取页面路径参数值 */ function getParams(key) { var result = {}; var paramStr = encodeURI(window.docume ...
- spring mvc获取路径参数的几种方式
一.从视图向controller传递值, controller <--- 视图 1.通过@PathVariabl注解获取路径中传递参数 (参数会被复制到路径变量) @RequestMappin ...
随机推荐
- [Angular] AuthService and AngularFire integration
Config AngularFire, we need database and auth module from firebase. import {NgModule} from '@angular ...
- LA 3644 - X-Plosives ( 也即UVA 1160)
LA看题 请点击:传送门 UVA 上也有这题 :UVA 1160 - X-Plosives 题目大意就是如果车上存在 k 个简单化合物,正好包含 k 种元素 ,那么它们将有危险,此时你应该拒绝装车. ...
- Java 学习(19):Java 多线程编程
Java 多线程编程 Java 给多线程编程提供了内置的支持.一个多线程程序包含两个或多个能并发运行的部分.程序的每一部分都称作一个线程,并且每个线程定义了一个独立的执行路径. 多线程是多任务的一种特 ...
- IOS使用AsyncSocket进行Socket通信
首先导入CFNetwork.framework框架 1.下载ASyncSocket库源码 2.把ASyncSocket库源码加入项目 3.在项目增加CFNetwork框架 使用AsyncSocket开 ...
- php BC高准确度函数库
<? php *************************************************************************************** *p ...
- OAM配置代理手冊
创建webgate与ohs共享实例,copy文件到ohs实例文件夹. 1)进入webgage部署工具文件夹 Cd /%webgate_home%/webgate/ohs/tools ...
- LIVE555源代码研究之四:MediaServer (一)
LIVE555源代码研究之四:MediaServer (一) 从本篇文章開始我们将从简单server程序作为突破点,深入研究LIVE555源代码. 从前面的文章我们知道.不论什么一个基于LIVE555 ...
- Injector Job深入分析 分类: H3_NUTCH 2015-03-10 15:44 334人阅读 评论(0) 收藏
Injector Job的主要功能是根据crawlId在hbase中创建一个表,将将文本中的seed注入表中. (一)命令执行 1.运行命令 [jediael@master local]$ bin/n ...
- ImageButton按压效果失效
LinearLayout中ImageButton的按压效果不起作用,如图 布局如下: <LinearLayout android:id="@id/ll_add_reply_face&q ...
- [转载]netcore 使用surging框架发布到docker
demo运行在windows的docker中,系统是win10,所以需要先下载Docker for Windows,安装完毕后系统会重启,然后桌面上可以找到Docker for Windows的快捷图 ...