2016-02-05 54 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

好奇。谢谢!为我工作。 –