我々は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
は適切ではありませんか?