小編給大家分享一下AngularJs如何實(shí)現(xiàn)返回前一頁面時(shí)刷新一次前面頁面,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
要求:
頁面A進(jìn)入到頁面B,在頁面B處理完后返回頁面A,頁面A里的數(shù)據(jù)應(yīng)該動(dòng)態(tài)的減去一條,但由于一般情況下頁面是緩存起來的,返回A后讀取的是緩存靜態(tài)頁面,里面顯示的數(shù)據(jù)不會(huì)減少。應(yīng)客戶要求,需要重新加載一次數(shù)據(jù),達(dá)到頁面A可以刷新數(shù)據(jù)目的。
研究過程:
從網(wǎng)上尋找發(fā)現(xiàn),有一個(gè)方法可以獲取到當(dāng)前頁面的URL:$location
以 ‘http://localhost/$location/21.1%20$location.html#/foo?name=bunny#myhash' 這個(gè)路徑為例:
1. 獲取當(dāng)前完整的url路徑:
$location.absUrl(): // http://localhost/$location/21.1%20$location.html#/foo?name=bunny#myhash
2. 獲取當(dāng)前url路徑(當(dāng)前url#后面的內(nèi)容,包括參數(shù)和哈希值):
$location.url(); // /foo?name=bunny#myhash
3. 獲取當(dāng)前url的子路徑(也就是當(dāng)前url#后面的內(nèi)容,不包括參數(shù)):
$location.path() // /foo
4. 獲取當(dāng)前url的協(xié)議(比如http,https)$location.protocol()
$location.protocol() // http
5. 獲取當(dāng)前url的主機(jī)名
$location.host() // localhost
6. 獲取當(dāng)前url的端口
$location.port() // 80 (這里就是wamp的默認(rèn)端口號(hào))
獲取到當(dāng)前頁的URL后,把它賦給全局變量,當(dāng)URL變化時(shí),刷新前一頁面即可
parent.location.reload(); //該方法可用于刷新前面所以頁面
之后繼續(xù)在網(wǎng)上找有沒有更好的辦法,發(fā)現(xiàn)了一個(gè)可以直接使用的方法:
這兩個(gè)事件分別發(fā)生在當(dāng)url開始發(fā)生改變,以及url改變完成.他們都被綁定在$rootScope里面:
$rootScope.$on('$locationChangeStart',function(){ console.log('開始改變$location') }); $rootScope.$on('$locationChangeSuccess',function(){ console.log('結(jié)束改變$location') });
之后寫進(jìn)代碼里做了驗(yàn)證,驗(yàn)證結(jié)果可用。寫法為:
$rootScope.$on('$locationChangeSuccess',function(){//返回前頁時(shí),刷新前頁 parent.location.reload(); });
以上是“AngularJs如何實(shí)現(xiàn)返回前一頁面時(shí)刷新一次前面頁面”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)站欄目:AngularJs如何實(shí)現(xiàn)返回前一頁面時(shí)刷新一次前面頁面-創(chuàng)新互聯(lián)
地址分享:http://vcdvsql.cn/article20/cssoco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、面包屑導(dǎo)航、網(wǎng)站建設(shè)、網(wǎng)站策劃、微信小程序、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容