在我的角度应用程序中,我有
{ provide: QUEUE, useValue: window.events }
在我的提供者中。我想知道如果window.events未定义,如何将QUEUE设置为使用空数组[]。我尝试了类似的方法,但是没有用。
{ provide: QUEUE, useValue: window.events || [] }
这就是我在QUEUE.injection-token.ts
中所拥有的
import { InjectionToken } from '@angular/core';
export const \QUEUE = new InjectionToken<Array<AppEvent>>('QUEUE');
谢谢!
答案 0 :(得分:1)
window.events || []
检查应在运行时执行,因为window
doesn't exist at compilation time。
可能应该是:
export function queueFactory(): any[] {
return window.events || [];
}
...
providers: [ provide: QUEUE, useFactory: queueFactory }]
...