2017-01-17 2 views
0

У меня есть контроллер, , который меняет некоторые значения в сканере штрих-кода "then".Угловая модификация модификации DOM

Прежде всего, он установил код, затем установил переменную "disabled", а затем сфокусировал вход.

.then(function (barcodeData) { 
    // Success! Barcode data is here      
    $scope.selectProdotto = barcodeData; 
    $scope.txtDisabled = false; 
    var pageElements = document.querySelectorAll('input[type=number], input[type=text], textarea'); 
    var first_element = pageElements[1]; 
    first_element.focus(); 
}); 

Вход, который я хочу сфокусировать;

<input class='input' type='number' ng-disabled="txtDisabled" /> 

Теперь проблема заключается в том, что вход еще отключен после того, как я изменил

$scope.txtDisabled = false; 

так, когда я сделать это .focus() неудачу.

После того, как моя функция закончена, мой вход правильно включен.

Так что я спрашиваю, когда переменные применяются к DOM? Как я могу подождать, когда вход будет готов и включен для фокусировки?

ответ

1

пытались ли вы

.then(function (barcodeData) { 
// Success! Barcode data is here      
$scope.selectProdotto = barcodeData; 
$scope.txtDisabled = false; 
$scope.$apply(); 
var pageElements = document.querySelectorAll('input[type=number], input[type=text], textarea'); 
var first_element = pageElements[1]; 
first_element.focus(); 

});

+0

спасибо. Теперь это работает. –