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

Angular懶加載機制刷新后無法回退的快速解決方法

 更新時間:2016年08月30日 15:50:33   作者:紫日殘月  
使用oclazyload懶加載angular的模塊,刷新頁面后,單擊回退按鈕無法返回上一個頁面.怎么回事呢?下面小編給大家?guī)砹薬ngular懶加載機制刷新后無法回退的快速解決方法,非常不錯,感興趣的朋友參考下

今天在項目中遇到一個很奇怪的問題,使用oclazyload懶加載angular的模塊,刷新頁面后,單擊回退按鈕無法返回上一個頁面.估計是使用懶加載機制銷毀了angular內(nèi)部的state關(guān)聯(lián),導(dǎo)致無法回到上一個state(單擊回退按鈕 ui-routre的 $stateChangeStart 事件都不會觸發(fā)),當(dāng)然這只是猜測,由于事件關(guān)系也沒有去深入的探究源碼.

angular懶加載機制刷新后無法回退的解決方案 :

通過查看angular(ionic)的源碼發(fā)現(xiàn)$browser這個服務(wù)上有個onUrlChange方法,當(dāng)我們從angular外部改變url地址時,會調(diào)用此方法中注冊的事件處理函數(shù),如下圖所示:

這樣的話,就可以在程序入口注冊一個函數(shù)

//當(dāng)通過瀏覽器回退/前進按鈕跳轉(zhuǎn)state時,重新加載頁面,如果用系統(tǒng)state,則不會進入此方法 
$browser.onUrlChange(function (url) { 
//TODO 解析url中的state,使用懶加載去加載state模塊,實現(xiàn)頁面刷新
});

通過這個函數(shù)就可以在回退和前進的時候重新去刷新頁面了...

以上所述是小編給大家介紹的Angular懶加載機制刷新后無法回退的快速解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論