搜尋

首頁  >  問答  >  主體

angular.js - angularjs和jquery-mobile關於前端路由衝突

目前就是刷新局部視圖,jquery-mobile的某些樣式會失效,需要強制刷新整個頁面。
如何刷新整個頁面?

補充:如果使用location.replace(),先是location.replace('page/page1.html)這樣直接定位到具體位置,這樣的話只會那個頁面的程式碼,實際上那個頁面是一個模板頁面,那麼那個模板頁面就是純HTML,無CSS部分。
然後用location.replace(#page1)這樣只是切換了局部視圖,並沒有什麼效果。
如果是$location.reload()那麼會跳到路由裡/定義的位置,不是刷新目前頁面……………
如何刷新當前整個頁面?或

路由裡如何配置,刷新頁面是刷新目前頁面,而不是跳到首頁?

如果目前頁面是http://localhost:8080/#/setting
F5後是http://localhost:8080/setting#/
那麼路由到otherwise,也就是/

原問題:angular如何刷新整個頁面?

大家讲道理大家讲道理2822 天前949

全部回覆(4)我來回復

  • PHPz

    PHPz2017-05-15 16:55:12

    解決過程

    需要強制刷新整個頁面 部分刷新是不行的
    就是F5的效果
    =====================>
    發現刷新後url会变化
    如果url不變化,那我們使用window.reload就可以了
    所以要解決URL變化的問題
    =====================>
    因為頁面一直報error loading page錯誤
    查了一下這個是jquery-mobile的
    然後封鎖了JQM的JS和CSS文件,發現URL变化是JQM引起的
    尋找相關的解決方案
    =====================>
    哦,如果要堅持jquery-mobile+angular
    就要用jqm的頁面跳轉。
    =====================>
    前端UI框架由jquery-mobile替换为bootstrap

    結論

    jqm和angular关于前端路由方面有冲突
    如果堅持用jqm,那麼就不能使用angular的前端路由,必須用jqm的jq寫頁面跳轉,那樣頁面可能會比較雜亂。
    所以花了半天替換成了bootstrap。

    回覆
    0
  • ringa_lee

    ringa_lee2017-05-15 16:55:12

    位置.href? 位置.hash?

    回覆
    0
  • 高洛峰

    高洛峰2017-05-15 16:55:12

    如果這個不好用 就用jquery吧 你說呢

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-15 16:55:12

    不知道為什麼,看到你的這個情況我很想幫助你。目前我也在整合JQM與Angularjs並且有點眉目!
    具體就是在初始化jqm的時候配置一些參數:

        $( document ).on( "mobileinit", function() {
            $.mobile.page.prototype.options.domCache = false;// 关闭缓存
            $.mobile.initializePage = false;
            $.mobile.defaultPageTransition = "fade";
            $.mobile.autoInitializePage = true;
            $.mobile.hideUrlBar = false;
            $.mobile.linkBindingEnabled = false;
            $.mobile.hashListeningEnabled = false;
            $.mobile.ajaxEnabled = false;
    
        });

    每個配置都具體參考官方的API文件。
    這些設定的某個是解決URL的衝突問題,就是關閉JQM的路由。

    回覆
    0
  • 取消回覆