为什么在检查后关闭ngdialog弹出窗口时取消选中复选框?

时间:2016-05-23 10:07:29

标签: angularjs angularjs-directive angularjs-scope angularjs-ng-repeat ng-dialog

当我在检查其中的复选框后关闭ngdialog弹出窗口,如果我打开它再次关闭,则复选框将被取消选中,为什么会发生这种情况?有人知道吗? 这是我的脚本标签

    <script type="text/ng-template" id="templateId">

    <div id="target" ng-click="test()" ng-controller="tt">
      Click here
      <input type='checkbox' placeholder=''>
    </div>
</script>

这是我的例子jsfiddle http://jsfiddle.net/mb6o4yd1/264/

3 个答案:

答案 0 :(得分:1)

似乎这个ngDialog模块在​​关闭后会破坏控制器。如果要访问并保留控制器中的更改。使用控制器中的$parent

我为您创建了 fiddle

<script type="text/ng-template" id="templateId">
  <div id="target" ng-click="test()">
    Click here
  <input type='checkbox' ng-model="$parent.checkbox">
</div>

使用您的方法,您必须在离开对话框

之前将值保存到工厂中

希望它有所帮助。

答案 1 :(得分:0)

您需要在复选框上声明模型,例如:

然后,您需要在关闭对话框时将该值复制到您选择的范围,以便在再次打开模式对话框时,它可以访问该值(前提是它可用)。当对话框关闭时,将处理模态对话框的范围,因此您无法在其中保存其状态。

答案 2 :(得分:0)

绑定一个包含复选框值的模型并将其保存在父控制器中。这可以解决您的问题。