gpt4 book ai didi

javascript - AngularJS:数据绑定(bind)模式 - 仅在单击 "Save"时保存更改,或者在单击 "Cancel"时忘记更改

转载 作者:行者123 更新时间:2023-12-03 03:24:52 26 4
gpt4 key购买 nike

我有一个项目列表,单击其中一个项目后,会显示一个模式对话框,供用户进行一些更改,然后单击“关闭”或“保存更改”。

问题是,假设用户进行了一些更改并单击“关闭”,这些更改将反射(reflect)在 View 绑定(bind)到的模型中,因为数据绑定(bind)是即时的。

我的问题是,如何推迟更新并仅在单击“保存更改”时执行绑定(bind),或者如何在单击“取消”时忘记更改。

我的模式对话框的代码如下所示:

<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">&times;</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>

谢谢,肖恩

最佳答案

AngularJS 文档曾经提供过这种情况的示例。您需要的是在显示编辑模式之前克隆您的模型(请参阅 angular.copy ),并且当用户单击 closeModal() 时,您会将您的模型重新分配给克隆值。恕我直言,我会将您的“关闭”按钮重命名为“取消”,并将其放在“保存更改”的右侧,这更明确,似乎是许多网站的工作方式。

希望这有帮助

--丹

关于javascript - AngularJS:数据绑定(bind)模式 - 仅在单击 "Save"时保存更改,或者在单击 "Cancel"时忘记更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12792077/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com