"Webgl2RenderingContext"への参照を取得するためにAngular2依存性注入を使用しようとしていますが、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]
}
];