Dlaczego skupienie się na polu tekstowym nie jest ustawione w modalnym programie twitter-bootstrap (popup) AngularJS

Próbowałem wdrożyć to, co zasugerowałem tutaj i inne podobne rozwiązanieJak ustawić ostrość na polu wprowadzania?

PLUNKER mój kod z niedziałającym autofokusem.

HTML

  <body ng-controller='userNameController'>
  <button class="btn" id="enterUsernameBtn" href="#userNameModal" role="button" class="btn" data-toggle="modal" title="Enter Username" 
   ng-click="focusInput=true">Enter Username</button>


   <!-- UserName Modal -->
    <div id="userNameModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="userNameModalLabel"
         aria-hidden="true">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
            <h3 id="userNameModalLabel">Enter your username</h3>
        </div>


        <div class="modal-body">
            <div class="input-append">
                <input class="pull-left" id="userIdTextBox" type="text"
                ng-model="userName1" ng-minlength="1" ng-trim="true" focus-me="focusInput"/>
            </div>
        </div>


        <div class="modal-footer">
            <button class="btn" data-dismiss="{{whatToDismiss}}" aria-hidden="true" ng-click="submitUserName()">Submit</button>
        </div>
        </div>

  </body>

JavaScript

var app = angular.module('abcApp',[]);

app.directive('focusMe', function($timeout) {
    return {
        scope: { trigger: '@focusMe' },
        link: function(scope, element) {
            scope.$watch('trigger', function(value) {
                if(value === "true") {
                    $timeout(function() {
                        element[0].focus();
                    });
                }
            });
        }
    };
});


app.controller('userNameController',function ($scope)
{
  $scope.whatToDismiss=''; // workaround not to close the modal if it is an invalid input
  $scope.focusInput=false;

  $scope.submitUserName= function ()
  {    
    if($scope.userName1===undefined || $scope.userName1==="")
      {
          alert("Invalid Input");
          return;
      }

    alert("username entered"+$scope.userName1);  
    $scope.whatToDismiss='modal';

  }
});  

Żadne rozwiązanie nie działa dla mnie. W jakiś sposób skupiam się na ustawianiu pola tekstowego za każdym razem, gdy otwiera się modal, ale potem jajuż nie uzyskać wartośćuserName1 przezng-model. Po wdrożeniufocusMe dyrektywauserName1 jest zawsze niezdefiniowany.

Edytować

Spróbuję tegoCzy mogę używać modelu ng z izolowanym zakresem?

Ponieważ wydaje sięng-model nie zadziała dla powyższego rozwiązania

Tymczasem każdy przychodzi z odpowiedzią na moje pytanie„Jak ustawić auto-focus na pole tekstowe wewnątrz modalnego programu twitter-bootstrap i móc uzyskać wartość wprowadzoną w tym polu tekstowym przez model ng” proszę Podziel się.

questionAnswers(4)

yourAnswerToTheQuestion