AngularJs返回前一頁面時刷新一次前面頁面的方法
要求:
頁面A進入到頁面B,在頁面B處理完后返回頁面A,頁面A里的數(shù)據(jù)應該動態(tài)的減去一條,但由于一般情況下頁面是緩存起來的,返回A后讀取的是緩存靜態(tài)頁面,里面顯示的數(shù)據(jù)不會減少。應客戶要求,需要重新加載一次數(shù)據(jù),達到頁面A可以刷新數(shù)據(jù)目的。
研究過程:
從網(wǎng)上尋找發(fā)現(xiàn),有一個方法可以獲取到當前頁面的URL:$location
以 ‘http://localhost/$location/21.1%20$location.html#/foo?name=bunny#myhash' 這個路徑為例:
1. 獲取當前完整的url路徑:
$location.absUrl(): // http://localhost/$location/21.1%20$location.html#/foo?name=bunny#myhash
2. 獲取當前url路徑(當前url#后面的內(nèi)容,包括參數(shù)和哈希值):
$location.url(); // /foo?name=bunny#myhash
3. 獲取當前url的子路徑(也就是當前url#后面的內(nèi)容,不包括參數(shù)):
$location.path() // /foo
4. 獲取當前url的協(xié)議(比如http,https)$location.protocol()
$location.protocol() // http
5. 獲取當前url的主機名
$location.host() // localhost
6. 獲取當前url的端口
$location.port() // 80 (這里就是wamp的默認端口號)
獲取到當前頁的URL后,把它賦給全局變量,當URL變化時,刷新前一頁面即可
parent.location.reload(); //該方法可用于刷新前面所以頁面
之后繼續(xù)在網(wǎng)上找有沒有更好的辦法,發(fā)現(xiàn)了一個可以直接使用的方法:
這兩個事件分別發(fā)生在當url開始發(fā)生改變,以及url改變完成.他們都被綁定在$rootScope里面:
$rootScope.$on('$locationChangeStart',function(){
console.log('開始改變$location')
});
$rootScope.$on('$locationChangeSuccess',function(){
console.log('結(jié)束改變$location')
});
之后寫進代碼里做了驗證,驗證結(jié)果可用。寫法為:
$rootScope.$on('$locationChangeSuccess',function(){//返回前頁時,刷新前頁
parent.location.reload();
});
以上這篇AngularJs返回前一頁面時刷新一次前面頁面的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
angularjs中使用ng-bind-html和ng-include的實例
下面小編就為大家?guī)硪黄猘ngularjs中使用ng-bind-html和ng-include的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04
Angular 4 依賴注入學習教程之FactoryProvider的使用(四)
這篇文章主要給大家介紹了關(guān)于Angular 4 依賴注入之FactoryProvider使用的相關(guān)資料,文中介紹的非常詳細,對大家學習或者使用Angular4具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-06-06
AngularJs unit-testing(單元測試)詳解
本文主要介紹AngularJs unit-testing(單元測試)的內(nèi)容,這里整理了單元測試的知識,及示例代碼,有興趣的朋友可以參考下2016-09-09
通過AngularJS實現(xiàn)圖片上傳及縮略圖展示示例
本篇文章主要介紹了通過AngularJS實現(xiàn)圖片上傳及縮略圖展示,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01

