AngularJS $ scope.model未定义

时间:2016-02-05 13:23:13

标签: javascript angularjs

当我通过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

我做错了什么?

谢谢!

1 个答案:

答案 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擦除您放置的值。