Angular2 没有提供 CompileMetadataResolver
Angular2 No provider for CompileMetadataResolver
所以我已经从 RC1 升级到 Angular2 的最终版本。我做了很多调整,但每次我在 AppComponent
上注入 RuntimeCompiler
时,都会出现此错误。
我不知道这里发生了什么,也没有在网上看到关于这个问题的答案。任何帮助将不胜感激,无论如何这里是我的 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']);
}
}
}
提前致谢。
我会说,您应该将提供商集添加到应用程序模块:
import { COMPILER_PROVIDERS } from "@angular/compiler";
...
@NgModule({
imports: [
...
BrowserModule
],
declarations: [ ... ],
bootstrap: [ ... ],
providers: [
COMPILER_PROVIDERS
],
})
export class AppModule { }
这组 COMPILER_PROVIDERS
提供程序包含 RuntimeCompiler
所需的所有内容。有一个 example
使用那段代码 和一些更多细节...
工作 plunker
所以我已经从 RC1 升级到 Angular2 的最终版本。我做了很多调整,但每次我在 AppComponent
上注入 RuntimeCompiler
时,都会出现此错误。
我不知道这里发生了什么,也没有在网上看到关于这个问题的答案。任何帮助将不胜感激,无论如何这里是我的 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']);
}
}
}
提前致谢。
我会说,您应该将提供商集添加到应用程序模块:
import { COMPILER_PROVIDERS } from "@angular/compiler";
...
@NgModule({
imports: [
...
BrowserModule
],
declarations: [ ... ],
bootstrap: [ ... ],
providers: [
COMPILER_PROVIDERS
],
})
export class AppModule { }
这组 COMPILER_PROVIDERS
提供程序包含 RuntimeCompiler
所需的所有内容。有一个 example
使用那段代码
plunker