微风 - Édit排在模态策略中

时间:2015-02-09 10:27:10

标签: angularjs modal-dialog breeze

在我的最后几个项目中,我一直在使用带有angularJS的微风,但有一些我从来没有做过的事情,至少有一个好的策略。那是在一个模态中编辑/添加行。

在之前的项目中,我的策略是将breeze对象克隆到json对象中,然后在模态中编辑这些对象。这个策略并不是很好,因为我失去了微风以验证对象的能力。

所以在这个新项目中,我改变了这个策略,并且我将clone breeze对象转换为另一个breeze对象,在编辑结束时,我将更改合并到原始对象中。 这个最后一个策略的问题是,如果我创建一个新的breeze对象(附加),对象将被添加到实体管理器,最后我必须删除他并且是导航对象。如果我创建一个新的breeze对象(dettached),我会松开自动验证和导航属性。所以我在最后的战略中什么都没有。

注意:我总是在所有策略中克隆对象,因为我正在使用angularJS,我不希望用户在编辑模态中的对象的同时看到列表中正在修改的对象。

Editing some row in a modal

所以,我的问题是使用breeze和angularJS实现这一目标的最佳方法是什么? 我没有找到关于此的任何breezeJS建议。

1 个答案:

答案 0 :(得分:1)

您应该使用multiple entity managers。您应该为模态对话框创建单独的EntityManager,而不是在同一个管理器中克隆对象。然后,对话框中的所有更改都将在该EntityManager中进行,如果用户选择放弃更改,您可以放弃该EntityManager,其余数据将保持不变。

有关如何执行此操作的信息,请参阅Multiple EntityManagers文档,并参阅TempHire示例应用程序以获取示例。 TempHire使用Knockout而不是Angular,但概念是相同的。

相关问题