HTML更新没有反映在AngularJS中

HTML updates not reflecting in AngularJS

本文关键字:AngularJS 更新 HTML      更新时间:2023-09-26

我正在开发一个AngularJS项目。每次我更改代码(html/css)并刷新页面时,更改都没有反映出来。我已经在路由中设置了cache: false。顺便说一下,我使用动态路由使用ui-routeroclazyload。为了获得更改,我不得不调用chrome (F12)中的开发人员工具,禁用缓存选项,然后进行刷新。有什么是我错过了像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',
                    ]
                });
            }
        }
    });

您无法获得最新更改,因为您的浏览器正在缓存旧更改。

你说

要获得更改,我不得不调用chrome (F12)中的开发人员工具,禁用缓存选项,然后做刷新

禁用缓存选项将只有活动当开发工具打开。一旦你关闭开发工具浏览器将开始缓存它们。

因此,您必须手动删除缓存Ctrl+Shift+R或右键单击刷新按钮并选择空缓存和硬加载 (Dev工具应该打开)。

对于chrome更简单的解决方案,您可以使用缓存杀手扩展。当它被启用时,每次刷新页面时,它会删除所有缓存。