测试用例: http: //jsbin.com/ahugeg/4/edit(略长)
在上面的测试用例中,我有三个输入元素,由ng-repeat
指令生成。我在这个测试用例中的意图是,如果在该方向上有可用输入,则在其中一个输入中点击向上/向下箭头应将焦点移至相应方向的输入。
我是 AngularJS 的新手,所以我可能会错过一些直接的方法来做到这一点。无论如何,我定义了两个新指令(on-up
and on-down
)来处理 up 和 down 事件,并调用$scope.focusNext
and$scope.focusPrev
方法,传递正确的条目,相对于焦点应该移动的条目。这就是我卡住的地方。
我知道这不是在控制器中处理 DOM 元素的角度方式,但我看不出如何将焦点视为模型的属性/属性。我什至想过有一个单独的$scope.focusedEntry
,但是我应该注意那个属性的变化吗?即使我这样做并且我检测到更改,我如何访问与我想要关注的条目对应的输入元素?
非常感谢有关如何完成此操作的任何帮助。