Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.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
Javascript 角度2:服务和重复使用之间的差异_Javascript_Angular_Redux_Angular2 Services_Ngrx - Fatal编程技术网

Javascript 角度2:服务和重复使用之间的差异

Javascript 角度2:服务和重复使用之间的差异,javascript,angular,redux,angular2-services,ngrx,Javascript,Angular,Redux,Angular2 Services,Ngrx,redux的需求是什么?因为我们还可以从服务中保存和获取数据,据我所知,我们还可以将数据获取和保存到服务中,这些服务可以被其他组件使用。服务是一个角度的实现细节。而redux是一个架构概念。这两者不具有直接可比性 如果您对如何将redux应用于Angular感兴趣,我建议您阅读。您不需要redux,但需要一种维护状态的方法。一个服务就可以了,但最终你会发送类似redux或ngrx商店的东西 考虑一下挑战。数据是异步传入的。你希望它是反应性的。您希望进行错误处理。您希望在数据更新时具有等待状态。您

redux的需求是什么?因为我们还可以从服务中保存和获取数据,据我所知,我们还可以将数据获取和保存到服务中,这些服务可以被其他组件使用。

服务是一个角度的实现细节。而redux是一个架构概念。这两者不具有直接可比性


如果您对如何将redux应用于Angular感兴趣,我建议您阅读。

您不需要redux,但需要一种维护状态的方法。一个服务就可以了,但最终你会发送类似redux或ngrx商店的东西

考虑一下挑战。数据是异步传入的。你希望它是反应性的。您希望进行错误处理。您希望在数据更新时具有等待状态。您有级联场景,其中一个事件触发多个操作,每个操作都有自己的延迟和错误路径

您需要设置一个可以在多个组件中使用的模式

维克多·萨夫金(Victor Savkin)有一种非常巧妙的观察方法。Ngrx有另一种方式

我使用服务编写了一个中等复杂的组件。它工作正常。在追踪一些状态未定义并抛出错误的奇怪情况时,几个小时就会消失。我在杂草中花了太多的时间,以至于没有一种可以重复使用的模式。结果是易碎的。它不是完全反应的,而且要做到这一点是非常困难和耗时的。我将其移植到ngrx,一旦学习曲线被克服(这不是小事),代码就变得更简单,并且完全插入指令,允许快速调试

YMMV


服务是一种角度特性,允许用户管理其常用方法和属性。但状态模式提供了管理应用程序状态(通常通过应用程序使用的属性)的结构方式


如果您对倾斜角度状态模式感兴趣,我建议您使用
@ngrx/store
&&
@ngxs/store
。两者都是好的。我建议使用
ngxs
,这比比较
@ngrs/store
实现更简单,而且它有清晰的文档要学习。

为什么我们应该使用redux有大量的材料赞美redux的好处。应该不难找到。也许一个更有趣的问题是:什么是学习ngrx的最佳来源,它有官方文件吗?等等,关于Victor Savkin的方法或使用可观测的方法的链接?这是否回答了你的问题?