javascript - Angularjs 文件上传在 ng-if 中不起作用

标签 javascript angularjs

您好,我正在使用 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 范围。

您可以通过以下任何一种方法避免该问题

  1. 您可以使用 Controller 作为语法
  2. 您可以通过遵循点规则来避免这种情况,即在对象上定义文件模型。
  3. 使用 ng-show 而不是 ng-if

更多引用:https://github.com/angular/angular.js/wiki/Understanding-Scopes

关于javascript - Angularjs 文件上传在 ng-if 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45830944/

相关文章:

javascript - 占位符不适用于文本字段输入

javascript - 使用 MIME 类型 application/json 可能会导致什么问题?

javascript - 引用错误 : process is not defined when requiring Shelljs in ReactJS

javascript - 使用 angularjs 的货币转换器

angularjs - WizardHandler.wizard().goTo

javascript - Angular 代码不适用于 express

javascript - 通过 Sails.js 服务器的 Angular.js Web 应用程序

javascript - 数据库数据从不显示在html中

javascript - AngularJS : Services are not resolved in my controller

javascript - Angular JS调整大小操作