簡體   English   中英

Angular2沒有為CompileMetadataResolver提供程序

[英]Angular2 No provider for CompileMetadataResolver

所以我已經從RC1升級到了Angular2的最終版本。 我做了很多調整,但是每次將RuntimeCompiler注入AppComponent ,都會發生此錯誤。

沒有CompileMetadataResolver的提供程序

我不知道這里發生了什么,也沒有看到有關此問題的網絡答案。 任何幫助將不勝感激,無論如何這里是我的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所需的全部內容。 有一個使用該代碼的工作plunkerexample如何使用/創建動態模板以使用Angular 2.0編譯動態組件? 還有更多細節...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM