breeze - BreezeJS 是否应该使用 Durandal 在单页应用程序中跨页面共享实体管理器?

标签 breeze single-page-application durandal

使用 Durandal 为单页应用程序创建 BreezeJS EntityManager 实例的最佳实践是什么?

实体管理器是应该在所有页面之间共享一个实例,还是每个页面都应该有一个实例?

欢迎提供有关实现的任何细节。

最佳答案

这取决于你想要完成什么。如果您共享了 1 个 EntityManager (EM),那么所有数据都在一个地方共享。任何更改都在 View 和 View 模型之间共享。当您按下保存时,您将保存所有屏幕。通常在这种情况下,您要防止在用户保存或取消之前离开屏幕。

如果您希望能够打开不同的屏幕并独立保存彼此的数据,您可以创建多个 EM。然后您可以根据需要取消一个或保存另一个。

或者您可以为应用的某些区域设置 EM(可能更常见)。真的取决于你想做什么。如果您不需要将事务分开,那么 1 个 EM 就足够了。

关于breeze - BreezeJS 是否应该使用 Durandal 在单页应用程序中跨页面共享实体管理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15694591/

相关文章:

javascript - 为什么 TypeScript 需要 "this."模块的 "internal"前缀?

javascript - 如何从url durandal获取参数值

javascript - 测试 JavaScript 僵尸事件处理程序或 DOM 元素

angular - 无法读取 Angular 中未定义的属性 'navigate'

javascript - 2 个模型的交叉引用

breeze - 是否计划将 Breeze.WebApi.EntityInfo 类的所有成员公开?

Breeze - 从缓存中删除元素

使用继承时,Breeze Entity defaultResourceName 未定义子类型

c# - 带有导航属性的 BreezeJS 查找

single-page-application - Apple Watch 中的 PWA 和 SPA 支持