2016-02-05 89 views
2

AngularJS $scope.model是不確定的,當我通過Javascript

<button ngf-select="upload($file)">Выбрать</button> 
       <span id="photoSpan"></span> 
       <input type="text" id="photo" name="uploadPhoto" ng-model="uploadPhoto"> 

這裏初始化它是我的初始化代碼:

document.getElementById("photo").value = fileName; 
       $("#photoSpan").text(resp.config.data.file.name); 
       console.log('Success ' + resp.config.data.file.name + 'uploaded. Response: ' + resp.data); 

所以

createExpositionResource.photo = $scope.uploadPhoto; 
     console.log('--------------'+$scope.uploadPhoto); 

回報undefined

我在做什麼錯?

謝謝!

回答

6

我在做什麼錯?

使用jQuery:有一個在這個問題:"Thinking in AngularJS" if I have a jQuery background?

此時應更換

document.getElementById("photo").value = fileName; 

通過

$scope.uploadPhoto = fileName; 

簡短的解釋:如果您更新的角度變量(例如:document.getElementById("photo").value = fileName;),角度不會知道你做到了。你的代碼更糟糕。對於Angular,$scope中的內容是他的「可信數據源」。這意味着Angular也可以通過使用Jquery來消除你輸入的值。

+0

好奇。謝謝!爲我工作。 –