focus me

by Khajan Singh

HTML

<div ng-app="fd" ng-controller="control as vm">
<input type="text" focus-me="vm.haveFocus">
    <p>control focus: {{vm.haveFocus}}</p>
    </div>

JavaScript

var fd = angular.module("fd", []);
  
  var control = function($scope){
   var vm = this;
   vm.haveFocus = true;
  }
  control.$inject = ["$scope"]; 
  
  var focusMe = function () {
    return {
      scope: { 
        value: '=focusMe' 
      },
      link: function (scope, element, attrs) {
        scope.$watch('value', function (value) {
          if (value === true) {
            element[0].focus();
            scope.value = false;
          }
        });
      }
    };
  };

fd.controller("control", control);
fd.directive("focusMe", focusMe);