欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

AngularJS通過(guò)$location獲取及改變當(dāng)前頁(yè)面的URL

 更新時(shí)間:2016年09月23日 08:54:54   投稿:daisy  
本篇將介紹AngularJS中的$location服務(wù)的基本用法,$location服務(wù)的主要作用是用于獲取當(dāng)前url以及改變當(dāng)前的url,并且存入歷史記錄。本文通過(guò)示例代碼介紹的很詳細(xì),有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。

注意

本文中獲取與修改的URL以 ‘http://172.16.0.88:8100/#/homePage?id=10&a=100' 這個(gè)路徑為例:

一. 獲取url的相關(guān)方法(不修改URL):

1.獲取當(dāng)前完整的url路徑  

var absurl = $location.absUrl(); 
//http://172.16.0.88:8100/#/homePage?id=10&a=100 

2. 獲取當(dāng)前url路徑(當(dāng)前url#后面的內(nèi)容,包括參數(shù)和哈希值):  

 var url = $location.url(); 
 // 結(jié)果:/homePage?id=10&a=100 

3. 獲取當(dāng)前url的子路徑(也就是當(dāng)前url#后面的內(nèi)容,不包括參數(shù)) 

var pathUrl = $location.path() 
//結(jié)果:/homePage 

4.獲取當(dāng)前url的協(xié)議(比如http,https) 

var protocol = $location.protocol(); 
//結(jié)果:http 

5.獲取主機(jī)名 

var localhost = $location.host(); 
//結(jié)果:172.16.0.88 

 6.獲取當(dāng)前url的端口 

var port = $location.port(); 
//結(jié)果:8100 

7.獲取當(dāng)前url的哈希值 

var hash = $location.hash() 
//結(jié)果:http://172.16.088 

8.獲取當(dāng)前url的參數(shù)的序列化json對(duì)象  

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

二. 修改url的相關(guān)方法(改變URL相關(guān)內(nèi)容):

1 修改url的子路徑部分(也就是當(dāng)前url#后面的內(nèi)容,不包括參數(shù)):  

 $location.url('/validation'); 
//結(jié)果:http://172.16.0.88:8100/#/validation 

2 修改url的哈希值部分 

$location.hash('myhash3'); 
//結(jié)果:http://172.16.0.88:8100/#/homePage?id=10&a=100#myhash3 

3 修改url的參數(shù)部分(第一個(gè)參數(shù)表示url參數(shù)的屬性名,第二個(gè)參數(shù)是該屬性名的屬性值,如果是已有屬性名,則修改,如果不是已有屬性,則新增) 

$location.search('id','111') 
// 結(jié)果(修改參數(shù)值):http://172.16.0.88:8100/#/homePage?id=111&a=100 
 
$location.search('ids','111') 
// 結(jié)果(新增ids參數(shù)): http://172.16.0.88:8100/#/homePage?id=111&a=100&ids=111 

4.一次性修改多個(gè)參數(shù) 

$location.search({id:'55','a':'66'}) 
//結(jié)果:http://172.16.0.88:8100/#/homePage?id=55&a=66#myhash3 

5.第一個(gè)值表示url參數(shù)的屬性名,如果是已有屬性名,則刪除該屬性,如果不是已有屬性,那就等于沒(méi)改過(guò)  

 $location.search('age',null) 

三、修改URL但不存入歷史記錄

在上面的修改url的方法的時(shí)候,每修改一次,url都會(huì)被存入歷史記錄,可以使用后退按鈕回到修改前的url,如果不想要這種效果,而僅僅是替換當(dāng)前的記錄,可以使用  $location.path('/validation').replace();

總結(jié)

以上就是關(guān)于AngularJS通過(guò)$location獲取及改變當(dāng)前頁(yè)面URL的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助。如果有疑問(wèn)大家可以留言交流。

相關(guān)文章

最新評(píng)論