4

ここで受け入れられた回答に従い、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!

私はここに何が欠けていますか?

4

4 に答える 4

2

RC5+ では、このプロバイダーは AppModule レベルで登録する必要があります

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

これを確認してください動的テンプレートを使用/作成して動的コンポーネントをAngular 2.0でコンパイルするにはどうすればよいですか? 働くプランカーのために

于 2016-09-02T10:22:46.660 に答える
1

RuntimeCompilerコンポーネント プロバイダーに追加します。( providers: [RuntimeCompiler]、以下templateUrl)

于 2016-09-02T10:16:20.043 に答える
1

にプロバイダとして RuntimeCompiler を追加しますcomponent

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',
   providers: [RuntimeCompiler]
})

export class AppComponent implements OnInit {

  constructor(private _runtimeCompiler: RuntimeCompiler) {}

  ngOnInit() {
      this._runtimeCompiler.clearCache();
  }   
}
于 2016-09-02T10:16:41.027 に答える