Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS-即使文件通过ng if隐藏,也保持选中状态_Javascript_Jquery_Angularjs - Fatal编程技术网

Javascript AngularJS-即使文件通过ng if隐藏,也保持选中状态

Javascript AngularJS-即使文件通过ng if隐藏,也保持选中状态,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我有一个小脚本,可以隐藏或显示一些div。每个div将包含一个文件输入 我的问题是,当div被隐藏时,所选的文件就消失了,为什么会这样 下面是一个例子(): 你好,普朗克! 测试 首先,您必须单击测试按钮 其次,选择一个文件 第三,点击测试按钮两次 您将看到所选文件现在已不存在,为什么?我真的需要为此创建一个指令吗?这意味着我将把文件保存在某个地方?所选文件将消失,因为如果ng if的条件计算为false,则元素的所有内容都将从DOM中删除。当条件为true时,将重新插入内容,因此将丢失其以

我有一个小脚本,可以隐藏或显示一些div。每个div将包含一个文件输入

我的问题是,当div被隐藏时,所选的文件就消失了,为什么会这样

下面是一个例子():


你好,普朗克!
测试
首先,您必须单击测试按钮

其次,选择一个文件

第三,点击测试按钮两次


您将看到所选文件现在已不存在,为什么?我真的需要为此创建一个指令吗?这意味着我将把文件保存在某个地方?

所选文件将消失,因为如果
ng if
的条件计算为
false
,则元素的所有内容都将从DOM中删除。当条件为
true
时,将重新插入内容,因此将丢失其以前的状态

您可以使用
ng show
。它不会从DOM中删除内容


这是小提琴:

太棒了,我不知道!非常感谢。
<!DOCTYPE html>
<html ng-app>

  <head>
    <script data-require="angular.js@*" data-semver="1.2.13" src="http://code.angularjs.org/1.2.13/angular.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>

  <body>
    <h1>Hello Plunker!</h1>


    <div ng-if="test == true">
      <input type="file">
    </div>
    <button ng-click="test = !test">test</button>

  </body>

</html>