我刚接触Breeze.js,但用过NgRX。
在我的一个被认为是大型项目(6个月的开发时间)的项目中,我的客户有一个特殊的要求来使用Breeze.js。
我通读了Breeze.js的文档。我看到的主要优势是Breeze使Angular前端应用程序能够使用丰富的模式执行对api服务器的GET和POST查询。
例如:
var query = new breeze.EntityQuery()
.from("Products")
.where("Category.CategoryName", "startswith", "S");微风是否也可以用于管理前端UI和实体的状态,就像NgRX和NgRX实体或NgRX数据一样?
敬请指教。
发布于 2020-01-08 05:46:05
是的,而且Breeze在这方面做得更好。(我是Breeze的维护者之一)。
Breeze不是用于管理UI状态的。它用于管理实体,特别是相关实体。
Breeze维护一个实体缓存。Breeze跟踪缓存中每个实体的状态(添加、修改、删除、更改)。
修改实体时,它会跟踪实体从服务器发出时所具有的原始值,以便您可以确定更改的内容,并在需要时恢复更改。
Breeze使用元数据来了解实体之间的关系。Customers的Orders具有与Products等相关的代码s。如果您查询Customers,然后查询Orders,Breeze将自动连接缓存中的实体关系,因此Customer将具有Orders,并且每个代码都将具有< Order >d10。您还可以一次查询多个实体类型,Breeze会自动将它们连接起来。
当您对实体进行更改时,Breeze会跟踪更改了哪些实体。然后,您可以在单个事务中一次保存所有更改的实体。
我认为Breeze丰富的查询功能,虽然很好,但与实体管理相比,是一个相对次要的功能。
显然,我可以继续下去。但我已经尝试过Breeze Data (我也知道维护人员),NgRx更强大,更易于使用。
https://stackoverflow.com/questions/59336036
复制相似问题