Angularjs を使用して再利用可能な SVG チャートを作成したいと考えており、ディレクティブ コントローラー関連の質問がいくつかあります。
最初の例では、内部状態、つまりデータの視覚化に影響を与えるフォーム要素を含むチャートをレンダリングする、次のようなマークアップを作成できるようにしたいと考えています。
<scatterChart></scatterChart>
=>
<div class="scatterChart">
<div> [Form elements] </div>
<svg>
[Data visualization]
</svg>
</div>
質問 1: コントローラー、ディレクティブ、モジュール
これを別のコントローラーを持つ単一のディレクティブとして構築することは理にかなっていますか? または、コントローラーをディレクティブに埋め込むか、モジュールを作成しますか?
質問 2: モデル/状態から SVG へのレンダリング
チャート コントローラーに次のような内部状態があるとします。
scope.model = {
xAxis : "xyz",
yAxis : "abc"
}
モデルが変更されると、チャートの再レンダリングがトリガーされます。コントローラーとディレクティブの間ですべてのチャートのユーザー制御属性を共有する DRY/適切な方法は何でしょうか? (同時に、ディレクティブはいくつかの依存/プライベート属性を持つことができる必要があります。)
質問 3: API
初期状態をチャートに渡すにはどうすればよいですか? 属性?そして、それが20パラメータの状態である場合は?
<scatterChart xAxis="abc"></scatterChart>