テストケース:http://jsbin.com/ahugeg/4/edit(やや長い)変更フォーカス
上記テストケースでは、私はng-repeat
指令によって生成された三つの入力要素を有します。このテストケースでの私の意図は、これらの入力の1つに上下の矢印を打つと、その方向で利用できる入力があれば、対応する方向の入力にフォーカスが移動するはずです。
私はAngularJSを初めて使うので、これを行うには簡単な方法で行方不明になるかもしれません。とにかく、アップイベントとダウンイベントを処理するために、2つの新しいディレクティブ(on-up
とon-down
)を定義し、$scope.focusNext
と$scope.focusPrev
メソッドを呼び出し、フォーカスを移動する相対的なエントリを渡します。これは私が立ち往生している場所です。
私はそれは、コントローラでのDOM要素に対処するため角度ウェイではないですけど、私はフォーカスは、モデルの属性/プロパティとして見ることができるか見ることができません。私は別の$scope.focusedEntry
を持っていると思っていましたが、はそのプロパティの変更についてを見ますか?私が行って変更を検出したとしても、どの項目にフォーカスしたいエントリに対応する入力要素にアクセスすることができますか?
これをどのように行うべきかについての助力は大変ありがとうございます。
ありがとうございます。あなたの解決策は私に自分の考えと動機を与えました。私は 'ng-repeat'要素の親に対して、フォーカスを移動させる' input'のセレクタを取るディレクティブを定義して、やや異なるアプローチをとっています。私は解決策を1分で投稿します。再度、感謝します。 –