Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 聚焦一个新的ng重复元素_Angularjs_Ng Repeat_Angularjs Ng Change - Fatal编程技术网

Angularjs 聚焦一个新的ng重复元素

Angularjs 聚焦一个新的ng重复元素,angularjs,ng-repeat,angularjs-ng-change,Angularjs,Ng Repeat,Angularjs Ng Change,使用Angular,我希望用户能够输入到主Angular,然后(如果条目不存在)将新的“action”推送到“actions[module.id].actions”数组中,从而使用ng repeat创建一个新输入,然后我希望将重点放在该新输入上 我正在使用“addActionAction()”将新值添加到数组中,然后将注意力集中在新创建的输入上,但是,似乎直到“addActionAction()”完成运行之后,才真正创建输入,因此在我希望将注意力集中到该输入时,该输入不存在。有办法解决这个问题吗

使用Angular,我希望用户能够输入到主Angular,然后(如果条目不存在)将新的“action”推送到“actions[module.id].actions”数组中,从而使用ng repeat创建一个新输入,然后我希望将重点放在该新输入上

我正在使用“addActionAction()”将新值添加到数组中,然后将注意力集中在新创建的输入上,但是,似乎直到“addActionAction()”完成运行之后,才真正创建输入,因此在我希望将注意力集中到该输入时,该输入不存在。有办法解决这个问题吗

     <div ng-repeat="(key, action) in actions[module.id].actions" >
      <span class="action-profile">{A{action}A}</span>
      <input id="action-input-{A{module.id}A}-{A{key}A}"type="text" ng-model="action">
    </div>

      <!-- main input-->
      <input type="text" ng-model="$parent.newActionText" ng-change="addActionAction()">

将焦点调用包装在
$timeout()
中使用
ng focus='$last'
@entre-ng focus似乎对被聚焦的元素做出反应,而不是聚焦在元素上。它将焦点属性添加到将有$last=truewrap焦点调用的元素中
$timeout()
使用
ng focus='$last'
@entre-ng focus似乎对被聚焦的元素做出反应,而不是聚焦在元素上。它将focus属性添加到元素中,元素的$last=true
$scope.addActionAction= function()
  {
    if($scope.actions[$scope.selectedId].actions.indexOf($scope.newActionText) == -1)
    {
      $scope.actions[$scope.selectedId].actions.push($scope.newActionText);
      $scope.newActionText="";
      document.getElementById("action-input-"+$scope.selectedId+"-"+String(parseInt($scope.actions[$scope.selectedId].actions.length)-1)).focus();
    }

  };