11
私はコンパニオンクラス(TypeScriptコード)内のInput()プロパティでサイズを変更しているキャンバスに基づいて単純なコンポーネントを書きました。私がしたいのは、コンパニオンクラス内にキャンバス要素を描画することです。そのコードは以下のとおりです。これを実現する最も簡単な方法は何ですか? (コード内のコメントを参照してください:コンストラクタからキャンバスの内側に青い四角形を描きたいと思います)。キャンバスに基づくAngular2コンポーネント:内部を描画する方法は?
import {Component, View, Input} from 'angular2/core';
@Component({
selector: 'chess-diagram',
})
@View({
template: `<canvas class='chess-diag'
[attr.width]='_size'
[attr.height]='_size'></canvas>`,
})
export class ChessDiagram {
private _size: number;
constructor(){
this._size = 150;
// Here I would like to draw a blue rectangle inside the canvas.
}
get size(){
return this._size;
}
@Input() set size(newValue: number){
this._size = Math.floor(newValue);
}
}
ありがとうございました。しかし、chessCanvas変数は未定義です。 ngAfterViewInitの – loloof64
には、どこかにタイプミスがある可能性があります。私はコンポーネントをセットアップし、それが動作することを確認します。 :) – toskv
ありがとう、私もそれを見つけることを試みています。 – loloof64