【发布时间】:2017-06-01 00:13:30
【问题描述】:
我们需要使用 InjectionToken 注入一个值,但我们收到以下错误:
在静态解析符号值时遇到错误。只能引用初始化的变量和常量,因为这个变量的值是 ne 由模板编译器编辑(在原始 .ts 文件中的位置 3:12),在 C:/Projekte/Git/KWKPortal/App/src/app/shared/dnn.module.ts 中解析符号 $,resolvin g 符号 AppModule 在 C:/Projekte/Git/KWKPortal/App/src/app/app.module.ts 中,解析符号 AppModule 在 C:/Projekte/Git/KWKPortal/App/src/app/app.module.ts 中,资源 lving 符号 AppModule 在 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 不适合这种情况吗?
【问题讨论】:
标签: angular