First import the TemplateCompiler.
import { TemplateCompiler } from 'angular2/src/compiler/template_compiler';
Next inject the TemplateCompiler in your constructor.
constructor(private _templateCompiler: TemplateCompiler)
Finally use that to clear the cache. Note this clears all templates.
this._templateCompiler.clearCache();
UPDATE: Angular 2 Beta 17
First import the RuntimeCompiler.
import { RuntimeCompiler} from 'angular2/src/compiler/runtime_compiler';
Next inject the RuntimeCompiler in your constructor.
constructor(private _runtimeCompiler: RuntimeCompiler)
Finally use that to clear the cache. Note this clears all templates.
this._runtimeCompiler.clearCache();
UPDATE: Angular 2 RC 1
First import the RuntimeCompiler.
import { RuntimeCompiler} from '@angular/compiler/src/runtime_compiler';
Next inject the RuntimeCompiler in your constructor.
constructor(private _runtimeCompiler: RuntimeCompiler)
Finally use that to clear the cache. Note this clears all templates.
this._runtimeCompiler.clearCache();
UPDATE: Angular 2 RC 4
First import the RuntimeCompiler.
Notice the path change from RC1. The path listed for RC1 will throw errors when calling .ClearCache() if used with RC4
import { RuntimeCompiler} from '@angular/compiler';
Next inject the RuntimeCompiler in your constructor
constructor(private _runtimeCompiler: RuntimeCompiler)
Finally use that to clear the cache. Note this clears all templates.
this._runtimeCompiler.clearCache();
UPDATE: Angular 2.0.0 (RTM)
It cannot be done. I have an app that serves one set templates for logged in users, and another set for those not logged in. After upgrading to 2.0.0, I can see no way to accomplish the same task. While I try to figure out the best way to re-architect the application, I have resorted to this instead:
location.reload();
That works (but obviously reloads the entire page).