使用AngularJS如何从控制器中聚焦文本输入?
我尝试过使用以下内容:
$scope.myinput.focus();
这会抛出一个错误: “undefined”不是一个对象(评估'$ scope.myinput.focus')“
基本情况是通过单击另一个元素来触发输入焦点。我创建了一个fiddle来显示问题。
注意:我对jquery解决方案不感兴趣。
感谢您的帮助。
答案 0 :(得分:1)
为文本框指定一个ID,并使用基本的javascript对其进行聚焦:
document.getElementById('theboxid').focus();
Angular的一个原则是避免与DOM耦合,因此出于可测试性原因,代码不应该在您的控制器中。这是不好的做法,但你可以做到。