我正在尝试遵循此处接受的答案,并调用 RuntimeCompiler.clearCache()

这是我尝试这样做的方法:

import { Component } from '@angular/core';
import { OnInit } from '@angular/core';
import { RuntimeCompiler } from '@angular/compiler';

@Component({
    moduleId: module.id,
    selector: 'my-app',
    templateUrl: 'app.component.html',
})

export class AppComponent implements OnInit {
    constructor(private _runtimeCompiler: RuntimeCompiler) {}

    ngOnInit() {
        this._runtimeCompiler.clearCache();
    }
}

但我收到此错误:
 ORIGINAL EXCEPTION: No provider for RuntimeCompiler!

我在这里想念什么?

最佳答案

使用 RC5+,这个提供者应该在 AppModule 级别注册

@NgModule({
    imports: [
        BrowserModule
        ...
    ],
    declarations: [ ... ],
    bootstrap:    [ ... ],
    providers: [
        COMPILER_PROVIDERS
    ],
})
export class AppModule { }

检查这个 How can I use/create dynamic template to compile dynamic Component with Angular 2.0? 是否有工作 plunker

关于angular - RuntimeCompiler 没有运行时提供程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39289942/

10-09 19:03