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

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

Angular中通过$location获取url中的参数

  最近,项目开发正在进行时,心有点燥,许多东西没来得及去研究,今天正想问题呢,同事问到如何获取url中的参数,我一时半会还真没想起来,刚刚特意研究了一下,常用的方法就以下几种:

1.获取当前完整的url路径

  var absurl = $location.absUrl();     //http://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();   //88

6.获取当前url的端口

var port = $location.port();   //8100

7.获取当前url的哈希值

  var hash = $location.hash()   //http://088

8.获取当前url的参数的序列化json对象

  var search = $location.search();    //{id: "10", a: "100"}

9. 获取url参数

  $location.search().name;

  $location.search()['name'];

 

10.注意问题

如果是这样的地址:http://lele.sina.com?name=haha 

 需要在项目中注入$locationProvider服务

 1 var searchApp = angular.module('searchApp', []);
 2 
 3 searchApp.config(['$locationProvider', function($locationProvider) {
 4 
 5 $locationProvider.html5Mode(true);
 6 
 7 }]);
 8 
 9 searchApp.controller('MainCtrl', ['$scope', '$location', function($scope, $location) {
10 
11 if ($location.search().keyword) {
12 
13 $scope.keyword = $location.search().keyword;
14 
15 }
16 
17 }]); 

 

11.js中获取地址栏参数的方法(附加)

  url = https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&rsv_idx=2&tn=baiduhome_pg&wd=%E5%A8%83%E5%93%88%E5%93%88

  console.log(window.location.href );   // "https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&rsv_idx=2&tn=baiduhome_pg&wd=%E5%A8%83%E5%93%88%E5%93%88"

  console.log(window.location.host);   // "www.baidu.com"

  console.log(window.location.pathname);  // "/s"

  console.log(window.location.protocol);  //  "https:"

  console.log(window.location.search);  //  "?ie=utf-8&f=3&rsv_bp=1&rsv_idx=2&tn=baiduhome_pg&wd=%E5%A8%83%E5%93%88%E5%93%88"

相关文章
|
3月前
如何在 Angular 路由中使用查询参数
如何在 Angular 路由中使用查询参数
27 0
|
6月前
【拦截器】Angular10轻松实现请求头传参数,针对性不同情况下,拦截器HttpInterceptor的创建和使用
【拦截器】Angular10轻松实现请求头传参数,针对性不同情况下,拦截器HttpInterceptor的创建和使用
【拦截器】Angular10轻松实现请求头传参数,针对性不同情况下,拦截器HttpInterceptor的创建和使用
|
6月前
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
|
6月前
几个经常用到的angular路由Router、ActivatedRoute 知识点:嵌套路由、路由跳转、路由传参、路由参数获取
几个经常用到的angular路由Router、ActivatedRoute 知识点:嵌套路由、路由跳转、路由传参、路由参数获取
几个经常用到的angular路由Router、ActivatedRoute 知识点:嵌套路由、路由跳转、路由传参、路由参数获取
|
6月前
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
|
6月前
Angular获取Location对象,获取当前网页url、hash、hostname、href、pathname、port、protocal
Angular获取Location对象,获取当前网页url、hash、hostname、href、pathname、port、protocal
|
JavaScript
Angular1.x的自定义指令directive参数配置详细说明
Angular1.x的自定义指令directive参数配置详细说明
从 Angular 中的 URL 获取查询参数
本文介绍了如何从 Angular 中的 URL 获取查询参数。 通过注入ActivatedRoute的实例,可以订阅各种可观察对象,包括queryParams和params observable。以下是范例: import { ActivatedRoute } from '@angular/rou...
1578 0
|
移动开发 JavaScript 网络架构
Angular最新教程-第九节 路由二(路由策略、base标签、路由参数)
Angular最新教程-第九节 路由二(路由策略、base标签、路由参数)
331 0
Angular最新教程-第九节 路由二(路由策略、base标签、路由参数)
|
JavaScript Java
Angular1.5.8路由参数的使用
在Angular 1.5.8中,经常会涉及到页面的跳转,很多页面的跳转都需要带参数,在JSP项目中,可以使用 window.location.href = 'http://hostname:port?param_1=xxx&param_2=xxx#/...
1832 0