Angularjs 使输入文本在以角度显示时处于选中状态

Angularjs 使输入文本在以角度显示时处于选中状态,angularjs,Angularjs,使用angular,我有一组输入元素,它们在某个用户操作后出现在dom中,即我使用ng if来确定它是否应该出现。我希望这些输入元素中的第一个获得焦点,并选择其中的文本,以便用户可以轻松地更改该元素中的所有内容 在网上搜索时,我看到一些帖子说我应该使用focus或select方法,或者两者都使用,但我没有得到想要的结果。以下是我创建的指令: app.directive('selectMe', function() { return function(scope, element) {

使用angular,我有一组输入元素,它们在某个用户操作后出现在dom中,即我使用
ng if
来确定它是否应该出现。我希望这些输入元素中的第一个获得焦点,并选择其中的文本,以便用户可以轻松地更改该元素中的所有内容

在网上搜索时,我看到一些帖子说我应该使用
focus
select
方法,或者两者都使用,但我没有得到想要的结果。以下是我创建的指令:

app.directive('selectMe', function() {
  return function(scope, element) {
    element[0].focus();
    element[0].select();
  };
})

这是一个plunkr演示。有人能告诉我为什么它不工作吗?

因为当指令初始化时,它们的值还没有附加,因此您应该设置小的
$timeout

它可以工作,你可以在plnkr中尝试

app.directive('selectMe', function($timeout) {
  return function(scope, element) {

    $timeout(function() {
      var ele = element[0];
     ele.focus();
     ele.select();
  }, 500)