【问题标题】:being notified when ng-if is adding/removing element当 ng-if 添加/删除元素时收到通知
【发布时间】:2014-02-20 12:13:35
【问题描述】:

我使用 ng-if 来添加/删除用于内联编辑的打字头输入。 ng-if 值由“编辑”按钮更新

那么,一旦将文本输入添加到 dom,最好或推荐的方式是什么?

谢谢

莱昂内尔

【问题讨论】:

  • 对不起,我对 ng-focus 有误解。这是一个类似于 ng-click 的事件处理程序。我将删除我的 anwser。
  • 看来需要自己加个指令才能触发DOM焦点。

标签: javascript angularjs angularjs-directive angular-ng-if


【解决方案1】:

当前版本的 AngularJS 没有焦点指令。

但是你可以参考 Input autofocus attribute

并为此用法创建您自己的指令。

【讨论】:

    【解决方案2】:

    根据 Chen-Tsu Lin 的评论,这里有一个小指令,用于在添加元素后聚焦元素(与 ng-if 一起使用)

    module.directive('inputFocus',['$timeout', function($timeout){
      'use strict';
    
      return {
        restrict: 'A',
        link: function(scope, elem){
          $timeout(function(){
            elem[0].focus();
          });
        }
      };
    }]);
    

    使用它:

    <input type="text" input-focus ng-if="isShown"  />
    

    这里是 JsBin http://jsbin.com/texujona/5/

    【讨论】:

      猜你喜欢
      • 2011-11-18
      • 1970-01-01
      • 2016-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-28
      相关资源
      最近更新 更多