Angularjs文件上传在ng-if中无法正常工作

时间:2017-08-23 04:59:13

标签: 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中,我可以知道发生了什么吗?任何帮助,将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

ng-if创建子范围。因此文件模型不直接附加到控制器范围。

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

  1. 您可以将控制器用作语法
  2. 您可以通过遵循点规则来避免这种情况,即在对象上定义文件模型。
  3. 使用ng-show代替ng-if
  4. 有关详情,请参阅https://github.com/angular/angular.js/wiki/Understanding-Scopes