详解Angular中通过$location获取地址栏的参数
最近,项目开发正在进行时,心有点燥,许多东西没来得及去研究,今天正想问题呢,同事问到如何获取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服务
var searchApp = angular.module('searchApp', []); searchApp.config(['$locationProvider', function($locationProvider) { $locationProvider.html5Mode(true); }]); searchApp.controller('MainCtrl', ['$scope', '$location', function($scope, $location) { if ($location.search().keyword) { $scope.keyword = $location.search().keyword; } }]);
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"
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
在Angular中使用NgTemplateOutlet创建可重用组件的流程步骤
在 Angular 中,使用 NgTemplateOutlet 而不是创建特定组件,可以使组件在不修改组件本身的情况下轻松修改为各种用例,在本文中,您将接受一个现有组件并重写它以使用 NgTemplateOutlet,需要的朋友可以参考下2024-03-03Angular6使用forRoot() 注册单一实例服务问题
这篇文章主要介绍了Angular6使用forRoot() 注册单一实例服务问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-08-08AngularJs Understanding the Controller Component
本文主要介绍AngularJs Understanding the Controller Component的内容,这里整理了相关资料,及简单示例代码,有兴趣的小伙伴可以参考下2016-09-09Angular 4依赖注入学习教程之InjectToken的使用(八)
这篇文章主要给大家介绍了关于Angular 4依赖注入之InjectToken使用的相关资料,文中介绍的非常详细,对大家学习或者使用Angular4具有一定的参考学习价值,需要的朋友们下面来跟着小编一起学习学习吧。2017-06-06AngularJs bootstrap搭载前台框架——js控制部分
本文主要介绍AngularJs bootstrap搭载前台框架js控制部分的资料,这里有实现代码,有兴趣的小伙伴可以参考下2016-09-09
最新评论