2013-01-30 11 views
5

JSONファイルをロードし、そのデータを使用してHTML5キャンバスの描画を作成する指示があります(つまり、JSONデータにはテキスト、色、位置などの情報が保持されます)。私はまた、ユーザーが図面を操作できるように、いくつかの入力フィールド(テキスト、スライダなど)を持っています。私は、これらの要素のそれぞれを見たり、ng-clickを使って関数を呼び出すことができます - 推奨される方法はありますか?ng-click対角線表示

一部おそらく関連の注意事項:

  • フォーム要素とキャンバスはすべて
  • フォーム要素がありませんので、ボタン
  • これらのフォーム要素の値のそれぞれを提出するのonchange反応しない同じディレクティブテンプレートの一部でありますチェックされ、おそらく変換された後、JSON文字列が変更されます。キャンバスを新しいデータでリロードするリフレッシュ関数を呼び出します。

それは私が(ディレクティブ内で)いくつかの要素に対するユーザのいくつかのアクションがあります理解して何から、だから... ...私はこれも間違った方法に近づいていますことを

答えて

7

可能だとあなたが何かをしなければなりませんこれらのイベントが発生するたびに

$ watchの目的は、特定の変数の値が変更されるたびに何か「監視」することです。 $scope.$watch('watchedVariable', onWatchedVariableChangedFn)ここで、onWatchedVariableChangedFnは関数です。これは、変更の原因に関係なく、値が実際に変更された場合にのみトリガーされます。

一方、ng-click='onClickFn()'のようなマークアップ属性にイベントハンドラを接続することができます。これらはUI要素のアクションから起動します。 [ng-clickは、クリック可能な要素に対してのみ機能します。

これらの値の変化を正確に把握しなければならない場合があります。キャンバスを再描画して、どの方向に移動するかを決定する必要があります。

編集:可能であれば、これらのイベントを発生させ($ emit/$ broadcast)、それらのイベントを処理する($ on)ことを考えてください。

関連する問題