javascript - AngularJS $scope.model 未定义

标签 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

我做错了什么?

谢谢!

最佳答案

What am I doing wrong?

使用 Jquery:看看这个问题:"Thinking in AngularJS" if I have a jQuery background?

你应该替换

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

通过

$scope.uploadPhoto = fileName;

简短说明:如果您更新 Angular 变量(例如:document.getElementById("photo").value = fileName;), Angular 将不知道您做了它。您的代码更糟。对于 Angular 来说,$scope 中的是他的“可信数据源”。这意味着 Angular 还可以使用 Jquery 清除您输入的值。

关于javascript - AngularJS $scope.model 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35225331/

相关文章:

javascript - “动态”图像重叠不水平显示

javascript - 如何覆盖 HTML5 验证弹出窗口?

unit-testing - 如何为 AngularJS 模型编写单元测试

javascript - angular 1.3找不到 Controller 功能

javascript - 如何使用 django 创建 GPS 位置小部件?

javascript - hammer.js 对象没有方法 addEventListener

javascript - 不工作滚动缩放

javascript - 面向纯前端/UI 开发人员的 BreezeJs

javascript - 如何在nodejs中使用url获取文件大小

javascript - 使用 Protractor 测试无限滚动