角度 – 如何清除模板缓存

前端之家收集整理的这篇文章主要介绍了角度 – 如何清除模板缓存前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Angular 2中,如何清除模板缓存? Angular 1有很多答案,但没有2。

我遇到的问题是,当我更改任何组件上的templateUrl引用的html页面内容时,html页面不会在浏览器中更改,直到我手动导航到浏览器中的templateUrl并重新加载。我知道您可以在开发过程中禁用浏览器缓存来解决这个问题,但是我担心的是,当我用Angular 2更新网站时,用户可以看到一个过时的html页面,如果它们在浏览器中缓存。

这是一个连接到堆栈溢出问题的角度1
AngularJS disable partial caching on dev machine

以下是一个代码段,当我的内容更改时,我有app.html更新的问题。

@Component({
    selector: 'photogallery-app',templateUrl: './app/app.html',directives: [ROUTER_DIRECTIVES,CORE_DIRECTIVES]
})
首先导入TemplateCompiler。
import { TemplateCompiler } from 'angular2/src/compiler/template_compiler';

接下来在你的构造函数中注入TemplateCompiler。

constructor(private _templateCompiler: TemplateCompiler)

最后使用它来清除缓存。注意这将清除所有模板。

this._templateCompiler.clearCache();

更新:角度2 Beta 17

首先导入RuntimeCompiler。

import { RuntimeCompiler} from 'angular2/src/compiler/runtime_compiler';

接下来在构造函数中注入RuntimeCompiler。

constructor(private _runtimeCompiler: RuntimeCompiler)

最后使用它来清除缓存。注意这将清除所有模板。

this._runtimeCompiler.clearCache();

更新:角2 RC 1

首先导入RuntimeCompiler。

import { RuntimeCompiler} from '@angular/compiler/src/runtime_compiler';

接下来在构造函数中注入RuntimeCompiler。

constructor(private _runtimeCompiler: RuntimeCompiler)

最后使用它来清除缓存。注意这将清除所有模板。

this._runtimeCompiler.clearCache();

更新:角2 RC 4

首先导入RuntimeCompiler。

注意RC1的路径更改。当RC4使用时,调用.ClearCache()时,RC1列出的路径会抛出错误

import { RuntimeCompiler} from '@angular/compiler';

接下来在构造函数中注入RuntimeCompiler

constructor(private _runtimeCompiler: RuntimeCompiler)

最后使用它来清除缓存。注意这将清除所有模板。

this._runtimeCompiler.clearCache();

更新:Angular 2.0.0(RTM)

它不能完成我有一个应用程序,为登录用户提供一个模板,另一个为未登录的模板设置。升级到2.0.0后,我无法完成相同的任务。虽然我试图找出重新构建应用程序的最佳方式,但是我已经诉诸于此:

location.reload();

这有效(但显然重新加载整个页面)。

猜你在找的Angularjs相关文章