Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular OCCAdapter和服务之间的使用差异是什么?_Angular_Hybris_Spartacus Storefront - Fatal编程技术网

Angular OCCAdapter和服务之间的使用差异是什么?

Angular OCCAdapter和服务之间的使用差异是什么?,angular,hybris,spartacus-storefront,Angular,Hybris,Spartacus Storefront,我有一个关于斯巴达克斯的问题。我使用20.05版本 this.occCartAdapter.load('xxxxx@gmail.com', '00001002').subscribe(data => { console.log(data); }); this.cartService.getActive().subscribe(data => { console.log(data); }); 这两个函数最终得到相同的结果。它们有什么区别?当我试图从后端调试这些函数时,我只能

我有一个关于斯巴达克斯的问题。我使用20.05版本

this.occCartAdapter.load('xxxxx@gmail.com', '00001002').subscribe(data => {
  console.log(data);
});

this.cartService.getActive().subscribe(data => {
  console.log(data);
});

这两个函数最终得到相同的结果。它们有什么区别?当我试图从后端调试这些函数时,我只能捕获(调试)occCartAdapter。为什么cartService不是触发器后端?

Spartacus中有几个层负责加载、存储和公开后端数据。这是为了一个健康的分层体系结构以及细粒度的可扩展性。您可以在上了解有关这些层的更多信息

一般来说,
cartService
表示购物车域的facade层,其中as
occCartAdapter
表示购物车域的默认OCC适配器。如果您想适应另一个系统,您可以覆盖/定制适配器,而无需担心存储、公开等问题

数据将流经所有这些层。所有域(产品、购物车、用户)都使用以下层:

-> component
    -> (component service)
        -> service (AKA facade) 
            -> ngrx-action 
                -> ngrx-effect
                    -> connector 
                        -> adapter
                            -> angular 
                                -> http client (angular)
                                    -> API (OCC)

不建议直接与较低级别的服务交互,因为中央存储不会知道数据。您将不再具有集中存储数据的优势


贝京说,对于新功能,您肯定不需要复制这些层。这些层部分用于细粒度的可扩展性,而您的定制不需要细粒度的可扩展性。我推荐的最小层是一个(单例)服务,用于保存组件的数据。

感谢您的明确回答。所以,我们可以说cartService在项目启动时运行,并将数据存储在ngstore中,这样它就不再需要调用后端,而是从存储中检索数据了吗?当我们想要直接调用后端时,我们可以使用occCartAdapter?我已经进一步阐述了应用层。希望有帮助。