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 ...
随机推荐
- jQuery插件AjaxFileUpload实现ajax文件上传时老是运行error方法 问题原因
今天在用jQuery插件AjaxFileUpload实现ajax文件上传时,遇到一个问题,如图: 老是运行error.无法运行succes方法,追踪ajaxfileupload.js源代码发现: wa ...
- [Angular2 Router] Preload lzay loading modules
From router v3.1.0, we have preloading system with router. PreloadAllModules After the init module l ...
- Android利用AlarmManager执行定时任务
Android中的AlarmManager功能很强大,它是一个全局定时器,可以在指定时间或者指定周期启动其他组件(包括Activity.Service.BroadcastReceiver). 使用Al ...
- POJ 3624 Charm Bracelet 0-1背包
传送门:http://poj.org/problem?id=3624 题目大意:XXX去珠宝店,她需要N件首饰,能带的首饰总重量不超过M,要求不超过M的情况下,使首饰的魔力值(D)最大. 0-1背包入 ...
- MFC屏蔽 WindowS按键
LRESULT CALLBACK LowLevelKeyboardPorc(int nCode,WPARAM wParam,LPARAM lParam)//屏蔽按键的真正实现方法{ BOOL fEat ...
- ArcGIS 中要素的查询与修改
转自nimeila的回答 求C# ArcGIS Engine修改选中要素的属性,单要素都行 RLAlterFrm RLalter = new RLAlterFrm(); RLalter.ShowDia ...
- Batch Normalization 反向传播(backpropagation )公式的推导
What does the gradient flowing through batch normalization looks like ? 反向传播梯度下降权值参数更新公式的推导全依赖于复合函数求 ...
- [AngularFire2] Signup and logout
import {AuthProviders, FirebaseAuthState, FirebaseAuth, AuthMethods} from "angularfire2";i ...
- VMware Workstation 12 安装mac os x 10.11
本人近期在学习iOS开发,由于初学,购买设备有点太昂贵了点.和我有意向想法的朋友能够看看在这篇文章.在虚拟机里装MAC os系统. 第一步:准备 VMware Workstation 12版本号 ma ...
- linux下的多线程,pthread_create函数
pthread_create是UNIX环境创建线程函数 头文件 #include<pthread.h> 函数声明 int pthread_create(pthread_t*restrict ...