首页  >  问答  >  正文

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

如题。angularjs加载不同的路由模板,但是它总是使用缓存,重新加载页面都没用。这样岂不是都取不到数据库的最新数据。如何才能禁止路由机制使用缓存?

某个js文件的响应头。
加载模板时只有请求js和css文件,不发页面请求了。

高洛峰高洛峰2735 天前812

全部回复(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
  • 取消回复