2016-03-01 3 views
1

Я вызываю метод предварительного просмотра следующим образомУгловая область видимости изменяется с типом входного файла

<span class="error-message">{{FilesNotSelected}}</span> 

<input type="file" onchange="angular.element(this).scope().previewFile('firstLevel')"> 

В моем сценарии я меняю переменную области действия следующим образом

$scope.previewFile = function (uploadType) { 
     $scope.FilesNotSelected = "Selected"; 
} 

Я не могу получить измененное значение, отображаемое в пользовательском интерфейсе. Может кто-то, пожалуйста, помогите мне найти проблемы. Кажется, сфера изменилась.

+0

попробовать это <входной тип = "файл" нг-изменений = "previewFile ('Firstlevel')"> –

+0

@hadiJZ в этом случае метод previewFile не вызывается. – Prashant

+0

попробуйте это http://stackoverflow.com/questions/17922557/angularjs-how-to-check-for-changes-in-file-input-fields –

ответ

0

Проблема была в области. Каким-то образом область видимости изменяется и обновленное значение недоступно. $scope.$apply(function (scope){}) помог решить эту проблему.

$scope.previewFile = function (uploadType) { 
    $scope.$apply(function (scope) { 
         . 
         . 
         . 
     reader.onloadend = function() { 
      $scope.$apply(function (scope) { 
       scope.FilesNotSelected = false; 
         . 
         . 
         . 
       } 
      } 
     } 
    } 
} 
Смежные вопросы