Ant*_*lin 2 single-page-application breeze durandal
使用Durandal为单页应用程序创建BreezeJS EntityManager实例的最佳实践是什么?
是否应该在所有页面之间共享一个实体管理器实例,或者每个页面应该有一个实例?
有关实施的任何细节都表示赞赏.
这取决于你想要完成的事情.如果共享1个EntityManager(EM),则所有数据都在一个位置共享.任何更改都在视图和视图模型之间共享.按保存时,将保存所有屏幕.通常在这种情况下,您希望防止离开屏幕直到用户保存或取消.
如果您希望能够打开不同的屏幕并相互独立保存数据,则可以创建多个EM.然后你可以取消一个或保存另一个,但你想要的.
或者您可以为应用程序的某些区域设置EM(可能更常见).真的取决于你想做什么.如果你没有要求将交易分开,那么1 EM就足够了.