Angular2 Нет поставщика для CompileMetadataResolver
Итак, я обновился с RC1 до финальной версии Angular2. Я сделал много корректировок, но каждый раз, когда я вводил RuntimeCompiler
на моем AppComponent
эта ошибка возникает.
Я понятия не имею, что здесь происходит, и я не видел ответы в Интернете по этому вопросу. Любая помощь будет оценена, в любом случае вот мой AppComponent для справки.
import { Component } from '@angular/core';
import { Location } from '@angular/common';
import { Router } from '@angular/router';
import { RuntimeCompiler } from '@angular/compiler';
@Component({
selector: 'content',
template: '<router-outlet></router-outlet>'
})
export class AppComponent {
constructor(
private location: Location,
private router: Router,
private runtimeCompiler: RuntimeCompiler
) {;
if (localStorage.getItem('id_token') == undefined) {
if (location.path().toLowerCase().startsWith('/login')) {
// LET IT BE
} else {
router.navigate(['login']);
}
runtimeCompiler.clearCache();
} else {
router.navigate(['menu']);
}
}
}
Заранее спасибо.
1 ответ
Решение
Я бы сказал, что вы должны добавить набор провайдеров в модуль приложения:
import { COMPILER_PROVIDERS } from "@angular/compiler";
...
@NgModule({
imports: [
...
BrowserModule
],
declarations: [ ... ],
bootstrap: [ ... ],
providers: [
COMPILER_PROVIDERS
],
})
export class AppModule { }
Этот набор COMPILER_PROVIDERS
провайдеров содержит все, что нужно RuntimeCompiler
, Есть example
с работой plunker
используя этот фрагмент кода Как я могу использовать / создать динамический шаблон для компиляции динамического компонента с Angular 2.0? и еще несколько деталей...