目前就是刷新局部視圖,jquery-mobile的某些樣式會(huì)失效,需要強(qiáng)制刷新整個(gè)頁(yè)面。
如何刷新整個(gè)頁(yè)面?
補(bǔ)充:如果使用location.replace()
,先是location.replace('page/page1.html)
這樣直接定位到具體位置,這樣的話只會(huì)那個(gè)頁(yè)面的程式碼,實(shí)際上那個(gè)頁(yè)面是一個(gè)模板頁(yè)面,那麼那個(gè)模板頁(yè)面就是純HTML,無(wú)CSS部分。
然後用location.replace(#page1)
這樣只是切換了局部視圖,並沒(méi)有什麼效果。
如果是$location.reload()
那麼會(huì)跳到路由裡/
定義的位置,不是刷新目前頁(yè)面……………
如何刷新當(dāng)前整個(gè)頁(yè)面?或
如果目前頁(yè)面是http://localhost:8080/#/setting
F5後是http://localhost:8080/setting#/
那麼路由到otherwise,也就是/
光陰似箭催人老,日月如移越少年。
需要強(qiáng)制刷新整個(gè)頁(yè)面 部分刷新是不行的
就是F5的效果
=====================>
發(fā)現(xiàn)刷新後url會(huì)變化
如果url不變化,那我們使用window.reload就可以了
所以要解決URL變化的問(wèn)題
=====================>
因?yàn)轫?yè)面一直報(bào)error loading page錯(cuò)誤
查了一下這個(gè)是jquery-mobile的
然後封鎖了JQM的JS和CSS文件,發(fā)現(xiàn)URL變化是JQM引起的
尋找相關(guān)的解決方案
=====================>
哦,如果要堅(jiān)持jquery-mobile+angular
就要用jqm的頁(yè)面跳轉(zhuǎn)。
=====================>
前端UI框架由jquery-mobile
替換為bootstrap
jqm和angular關(guān)于前端路由方面有沖突
,
如果堅(jiān)持用jqm,那麼就不能使用angular的前端路由,必須用jqm的jq寫(xiě)頁(yè)面跳轉(zhuǎn),那樣頁(yè)面可能會(huì)比較雜亂。
所以花了半天替換成了bootstrap。
不知道為什麼,看到你的這個(gè)情況我很想幫助你。目前我也在整合JQM與Angularjs並且有點(diǎn)眉目!
具體就是在初始化jqm的時(shí)候配置一些參數(shù):
$( document ).on( "mobileinit", function() {
$.mobile.page.prototype.options.domCache = false;// 關(guān)閉緩存
$.mobile.initializePage = false;
$.mobile.defaultPageTransition = "fade";
$.mobile.autoInitializePage = true;
$.mobile.hideUrlBar = false;
$.mobile.linkBindingEnabled = false;
$.mobile.hashListeningEnabled = false;
$.mobile.ajaxEnabled = false;
});
每個(gè)配置都具體參考官方的API文件。
這些設(shè)定的某個(gè)是解決URL的衝突問(wèn)題,就是關(guān)閉JQM的路由。