我們需要注入使用InjectionToken值,但我們得到了以下錯誤:角使用InjectionToken錯誤
ERROR in Error encountered resolving symbol values statically. Only initialized variables and constants can be referenced because the value of this variable is ne eded by the template compiler (position 3:12 in the original .ts file), resolving symbol $ in C:/Projekte/Git/KWKPortal/App/src/app/shared/dnn.module.ts, resolvin g symbol AppModule in C:/Projekte/Git/KWKPortal/App/src/app/app.module.ts, resolving symbol AppModule in C:/Projekte/Git/KWKPortal/App/src/app/app.module.ts, reso lving symbol AppModule in C:/Projekte/Git/KWKPortal/App/src/app/app.module.ts
這裏是我們如何提供這個值將被注入:
import { SF, $, dnn } from './shared/dnn.module';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [
{ provide: SF, useValue: $.ServicesFramework(dnn.getVars().ModuleId) }
],
bootstrap: [AppComponent]
})
export class AppModule { }
這裏是我們的代碼dnn.module:
import { InjectionToken } from '@angular/core';
export let $: any;
export let dnn: any;
export let SF = new InjectionToken<any>('sf');
我想知道爲什麼會發生這種情況? useValue
不適合這種情況嗎?