您好,我正在使用 angularjs 开发 Web 应用程序。我有文件上传模块。我有以下 html 代码。
<div ng-if="FilepathDL == ''">
<input type="file" file-model="attachmentDL" name="attachmentDL" class="form-control" />
</div>
<div ng-if="FilepathDL != ''">
<a ng-href="" ng-click="openfile(FilepathDL)">{{ 'View File' | translate }}</a>
</div>
在页面加载时,我没有为 FilepathDL 分配任何值,因此应该呈现第一个 ng-if 语句。这正在发生。提交表单时上传文件后 $scope.attachmentID is ""
如果我删除 ng-if 并直接放置,那么我正在获取文件。如果我将文件控件放在 ng-if 中,我可以知道会发生什么吗?任何帮助,将不胜感激。谢谢。
最佳答案
ng-if
创建一个子作用域。所以文件模型不直接附加到 Controller 范围。
您可以通过以下任何一种方法避免该问题
- 您可以使用 Controller 作为语法
- 您可以通过遵循点规则来避免这种情况,即在对象上定义文件模型。
- 使用
ng-show
而不是ng-if
更多引用:https://github.com/angular/angular.js/wiki/Understanding-Scopes
关于javascript - Angularjs 文件上传在 ng-if 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45830944/