我有以下代码:
<div modal="modal.shouldBeOpen" close="close()" options="opts">
<div class="modal-body">
<form novalidate name="itemForm" style="margin-bottom: 0px;">
包含在包含的文件 modal.html 中
<div data-ng-controller="AdminController">
<ng-include src="'/Content/app/admin/partials/grid-subject.html'"></ng-include >
<ng-include src="'/Content/app/admin/partials/modal.html'"></ng-include>
</div>
在我的 AdminController 控制器中,我尝试使用以下代码将表单重置为原始状态:
$scope.itemForm.$setPristine();
当我这样做时,它告诉我“itemForm”未定义。
有没有办法可以将表单的内容设置为原始内容。我认为这是一个范围问题,但我不知道如何解决它。我尝试了删除第二个包含并直接粘贴代码的一种解决方案。此解决方案有效。
但是我们希望能够重用代码,所以我希望能够通过包含 modal.html 来做到这一点
请注意,我们想要这样做的原因是因为我们的 modal.html 上有如下内容:
<button
class="btn float-right"
data-ng-disabled="itemForm.$pristine"
data-ng-click="modalReset()"
data-ng-show="modal.resetButton">
Reset</button>
</form>
所以我们实际上是在 itemForm 里面,并且想从里面的按钮将它设置为 $pristine。