angular.js - angularjs 路由如何禁止緩存
問(wèn)題描述
如題。angularjs加載不同的路由模板,但是它總是使用緩存,重新加載頁(yè)面都沒(méi)用。這樣豈不是都取不到數(shù)據(jù)庫(kù)的最新數(shù)據(jù)。如何才能禁止路由機(jī)制使用緩存?
某個(gè)js文件的響應(yīng)頭。加載模板時(shí)只有請(qǐng)求js和css文件,不發(fā)頁(yè)面請(qǐng)求了。
問(wèn)題解答
回答1:angular默認(rèn)的模板加載都會(huì)被緩存起來(lái),使用的緩存服務(wù)是$tempalteCache, 發(fā)送模板請(qǐng)求的服務(wù)是$templateRequest,你可以有兩種方案:
1.每次發(fā)送$http請(qǐng)求模板完成后,你調(diào)用$tempalteCache.remove(url) 或removeAll清除所有模板緩存2.使用$provide.decorator改寫(xiě)原生的$templateRequest,禁掉緩存,$templateRequest的源碼,你可以看到它默認(rèn)使用$tempalteCache作為緩存,你可以去掉它
回答2:。。。。。。。你用angular,然后把數(shù)據(jù)寫(xiě)模板里,跟沒(méi)用有什么區(qū)別?應(yīng)該數(shù)據(jù)寫(xiě)在route的resolve里,在模板里綁定。
回答3:在你的模板頁(yè)面后面加個(gè)時(shí)間參數(shù)頁(yè)面就會(huì)每次都重新加載,不知掉你是不是這個(gè)意思
when(’/data’, { templateUrl: ’partial/customer_ask.html?t=’ + Math.floor(Date.now() / 1000), controller: ’dataController’}).
相關(guān)文章:
1. javascript - vue提示語(yǔ)法錯(cuò)誤,請(qǐng)問(wèn)錯(cuò)誤在哪?2. css3 - border-bottom 的長(zhǎng)度可否超過(guò)盒子的寬度呢?實(shí)現(xiàn)如下圖效果。(我的書(shū)下面的線)3. 淺談vue生命周期共有幾個(gè)階段?分別是什么?4. index.php錯(cuò)誤,求指點(diǎn)5. java - web端百度網(wǎng)盤的一個(gè)操作為什么要分兩次請(qǐng)求服務(wù)器, 有什么好處嗎6. javascript - vue.js如何遞歸渲染組件.7. css - 移動(dòng)端 oppo 手機(jī)之 Border-radius8. css - 關(guān)于偽類背景問(wèn)題9. html - JavaScript的Dom操作如何改變子元素的文本內(nèi)容10. javascript - 為什么我的animation-fill-mode 設(shè)置不生效
