当我通过Javascript
初始化时,未定义AngularJS$scope.model
<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
。
我做错了什么?
谢谢!
答案 0 :(得分: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擦除您放置的值。