我正在嘗試使用Angular2依賴注入來獲取對「Webgl2RenderingContext」的引用,該引用在我調用createContext函數之前是未定義的。有沒有辦法將引用注入多個不同的服務類,然後在HTMLCanvasElement可用後設置該值?Angular2依賴注入:創建一個最初未定義的屬性的引用
@Injectable()
export class RenderContext {
get context() { return this.render_context; };
constructor() { };
createContext(canvas: HTMLCanvasElement) {
this.render_context = canvas.getContext("webgl2");
};
private render_context: WebGL2RenderingContext;
}
let get_context =() => {
return (render_context: RenderContext) => {
return render_context.context;
}
}
export const webgl2 = new OpaqueToken("webgl2");
export const webgl2_providers = [
RenderContext,
{
provide: webgl2,
useFactory: get_context(),
deps: [RenderContext]
}
];