2016-09-23 3 views
1

Итак, я обновил с RC1 до окончательной версии Angular2. Я сделал много настроек, но каждый раз, когда я вводил RuntimeCompiler на мой AppComponent, эта ошибка возникает.Angular2 Нет провайдера для CompileMetadataResolver

No provider for 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']); 
     } 
    } 
} 

Заранее спасибо.

ответ

2

Я бы сказал, что вы должны добавить провайдеров, установленные в модуле приложения:

import { COMPILER_PROVIDERS } from "@angular/compiler"; 
... 

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

Этот набор COMPILER_PROVIDERS провайдеров содержит все, что необходимо по RuntimeCompiler. Существует example с рабочим plunker, используя этот код кода How can I use/create dynamic template to compile dynamic Component with Angular 2.0? и еще несколько деталей ...

+1

привет @ Radim, это так! Я продолжал добавлять RuntimeCompiler при импорте и задавался вопросом, почему ошибка все еще возникает, я все еще новичок в этой версии, и я думаю, что я до сих пор не понял эту всю вещь NgModule, во всяком случае, очень ценю человека, спасите меня некоторое время! – arvstracthoughts

 Смежные вопросы

  • Нет связанных вопросов^_^