Heim  >  Fragen und Antworten  >  Hauptteil

angular.js - angularjs 如何禁止模板缓存

angularjs加载不同的路由模板,但是它总是使用缓存,重新加载页面都没用。如何才能禁止路由机制使用缓存?

之前有人提到解决办法是:

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

我试了一下结果报错,404 template not found

迷茫迷茫2684 Tage vor622

Antworte allen(2)Ich werde antworten

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-15 17:12:23

    404应该没问题,但是每次t的结果都是一样的么?
    templateUrl对应的是固定的一个模版页面。你这样写估计angular一直都找不到
    如果想要在url里边传参数,需要在我when后边配置

    when('/data/:t', {
        templateUrl: 'partial/customer_ask.html,
        controller: 'dataController'
    })
    

    在controller中用

    location.path('/data/'+Math.floor(Date.now() / 1000)) //大概这么写忘记了
    

    或者页面有a标签

    //controller
    $scope.randomTime = Math.floor(Date.now() / 1000);
    //html
    <a href="#/data/{{randomTime}}">走你</a>
    

    可以参考下这个例子
    https://xdsnet.gitbooks.io/an...

    Antwort
    0
  • 世界只因有你

    世界只因有你2017-05-15 17:12:23

    要不试试用ui-router取代router吧

    $stateProvider.state('stateName', {
            cache: false,
            .....
    })

    or

    $stateProvider.state('stateName', {
            url: return '/foo/bar/' + $.now();
    })

    Antwort
    0
  • StornierenAntwort