2016-10-03 45 views
0

我正在开发一个AngularJS项目。每次我更改代码(html/css)并刷新页面时,更改都不会反映出来。我已经有缓存:路由中为false。顺便说一句,我使用动态路线使用ui-routeroclazyload。要获得更改,我必须使用chrome(F12)调用开发人员工具,并禁用缓存选项,然后进行刷新。有什么我缺少像HTML版本化?在AngularJS中没有反映的HTML更新

编辑

这里是我的路线:

$stateProvider 
    .state('layout', { 
     url: '/:area', 
     cache: false, 
     templateUrl: function ($stateParams) { 
      return 'app/areas/' + $stateParams.area + '/_layout/index.html' 
     }, 
     resolve: { 
      load: function ($ocLazyLoad, $stateParams) { 
       return $ocLazyLoad.load({ 
        name: 'layout', 
        files: ['app/areas/' + $stateParams.area + '/_layout/controller.js'] 
       }); 
      } 
     } 
    }) 
    .state('layout.inner', { 
     url: '/:action', 
     cache: false, 
     templateUrl: function ($stateParams) { 
      return 'app/areas/' + $stateParams.area + '/' + $stateParams.action + '/index.html' 
     }, 
     parent: 'layout', 
     resolve: { 
      load: function ($ocLazyLoad, $stateParams) { 
       return $ocLazyLoad.load({ 
        name: 'layout.inner', 
        files: ['app/areas/' + $stateParams.area + '/' + $stateParams.action + '/controller.js', 
        ] 
       }); 
      } 
     } 
    }); 
+0

如果您在其他浏览器中打开页面,会发生什么情况?你看到变化吗? – Terminus

+0

如果我之前已经打开过这个页面,它不会让人耳目一新,否则它正在按预期工作 –

回答

0

你不能因为你的浏览器缓存旧的变化,以获得最新的变化。

你说

要得到改变,我不得不调用开发工具中铬(F12),以禁用缓存选项,然后执行刷新仅

禁用缓存选项将活动当开发工具是开放。只要您关闭开发工具,浏览器就会开始缓存它们。

所以,你要么必须手动删除缓存按Ctrl ++[R或右键点击刷新按钮,并选择清空缓存并硬性重新加载(开发工具应该是开放的)。

对于chrome更简单的解决方案,您可以使用Cache Killer扩展名。启用时,每次页面刷新时,都会删除所有缓存。

+0

用户呢?这些应用程序不时会得到某种提升,哪些用户可能不知道,或者我们不希望每次访问该网站时都清除所有用户。 –

+0

因此,你需要设置适当的缓存标题,让你的浏览器知道是否缓存页面 –

+0

这将有助于..http://stackoverflow.com/questions/49547/making-sure-跨网页不是缓存的跨浏览器。 –

相关问题