0

我正在使用指令来显示基于数据模型的文本框。如果数据模式处于编辑状态,则显示文本框。我希望在渲染时设置文本框焦点。我试过但是找不到任何东西。请帮忙。以下是审查的示例。

var myModule = angular.module('myModule', []);
myModule.directive('textbox', function() {
  return {
    restrict: 'E',
    replace: true,
    template: '<div ng-if="data.mode==edit"> <input type="text" ng-model="data.value"/> </div>',
    link: function (scope, element, attrs) 
    {
      scope.data =  {"mode":"edit","value":"This is text box"};
    }
  };
});

JSFiddle

4

1 回答 1

0

这会成功的。

scope.$watch('data.mode', function(newValue, oldValue) {
  if (newValue == 'edit') {
    element.find('input')[0].focus();
  }
});

JSFiddle

于 2013-09-11T23:46:19.793 回答