搜尋

首頁  >  問答  >  主體

angular.js - angularjs 路由如何禁止緩存

如題。 angularjs載入不同的路由模板,但它總是使用緩存,重新載入頁面都沒用。這樣豈不是都取不到資料庫的最新資料。如何才能禁止路由機制使用快取?

某個js檔案的回應頭。
載入模板時只有請求js和css文件,不發頁面請求了。

高洛峰高洛峰2800 天前870

全部回覆(3)我來回復

  • 習慣沉默

    習慣沉默2017-05-15 16:52:30

    angular預設的模板載入都會被快取起來,使用的快取服務是$tempalteCache, 發送模板請求的服務是$templateRequest,你可以有兩個方案:

    1.每次發送$http請求模板完成後,你呼叫$tempalteCache.remove(url) 或removeAll清除所有模板快取
    2.使用$provide.decorator改寫原生的$templateRequest,禁掉緩存,$templateRequest的源碼,你可以看到它默認使用$tempalteCache作為緩存,你可以去掉它

    回覆
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-15 16:52:30

    。 。 。 。 。 。 。你用angular,然後把資料寫模板裡,跟沒用有什麼差別?
    應該資料寫在route的resolve裡,在模板裡綁定。

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-05-15 16:52:30

    在你的模板頁面後面加個時間參數頁面就會每次都重新加載,不知掉你是不是這個意思

    when('/data', {
        templateUrl: 'partial/customer_ask.html?t=' + Math.floor(Date.now() / 1000),
        controller: 'dataController'
    }).

    回覆
    0
  • 取消回覆