Javascript AngularJS:数据绑定模式-仅当;“保存”;单击,或者如果“忽略更改”;取消“;点击
我有一个项目列表,单击其中一个项目后,将显示一个模式对话框,供用户进行一些更改,然后单击“关闭”或“保存更改” 问题是,假设用户进行了一些更改并单击“关闭”,这些更改将反映在视图绑定到的模型中,因为数据绑定是即时的 那么,我的问题是,我如何延迟更新并仅在单击“保存更改”时执行绑定,或者在单击“取消”时以某种方式忘记更改 “我的模态”对话框的代码如下所示:Javascript AngularJS:数据绑定模式-仅当;“保存”;单击,或者如果“忽略更改”;取消“;点击,javascript,angularjs,Javascript,Angularjs,我有一个项目列表,单击其中一个项目后,将显示一个模式对话框,供用户进行一些更改,然后单击“关闭”或“保存更改” 问题是,假设用户进行了一些更改并单击“关闭”,这些更改将反映在视图绑定到的模型中,因为数据绑定是即时的 那么,我的问题是,我如何延迟更新并仅在单击“保存更改”时执行绑定,或者在单击“取消”时以某种方式忘记更改 “我的模态”对话框的代码如下所示: <div ui-modal class="fade static" ng-model="modalShown" id="myModal"
<div ui-modal class="fade static" ng-model="modalShown" id="myModal" data-backdrop="static">
<div class="modal-header">
<button type="button" class="close" ng-click="closeModal()" aria-hidden="true">×</button>
<h3>{{selectedClientFeature.feature.type}}</h3>
</div>
<div class="modal-body">
<ul class="unstyled columnlist">
<li ng-repeat="country in countriesForEdit">
<input type="checkbox" ng-model="country.selected"> {{country.name}}
</li>
</ul>
</div>
<div class="modal-footer">
<a ng-click="closeModal()" class="btn">Close</a>
<a ng-click="saveChanges()" class="btn btn-primary">Save changes</a>
</div>
</div>
&时代;
{{selectedClientFeature.feature.type}
-
{{country.name}
接近
保存更改
谢谢,
Shaunangularjs文档使用的就是这种情况的一个例子。您需要的是在显示编辑模式之前克隆模型(请参见),并且当用户单击closeModal()时,您会将模型重新指定给克隆的值。我想,我会将你的“关闭”按钮重命名为“取消”,并将其置于“保存更改”的右侧,这更明确,似乎是许多网站的工作方式 希望这有帮助
--dan为了自动化手动克隆/更新模型,我提出了
lazy model
指令。看