我目前正致力于角度2应用。
假设我在我的应用程序中构建了一个新的功能模块,这个模块需要来自服务器的一些数据,我还有一些全局数据服务(核心模块)可以将这些数据提供给我的新模块。
我的问题是,如果我构建另一个与这些数据服务通信的服务,我的新模块中的任何组件都只会与该服务通信, 或者我的组件可以直接与数据服务对话。
(假设数据服务具有简单的crud操作,例如)
我的另一个问题是,功能模块服务可以直接与服务器通信(即发出ajax请求),还是应该总是通过数据服务进行通信?
谢谢!
答案 0 :(得分:0)
如果您有一个为整个应用程序提供数据的通用数据服务,那么每个组件都可以访问它。
如果您对功能有更多特定的数据访问需求,那么即使它依次调用通用数据服务,也可以向功能模块添加第二项服务。
将
答案 1 :(得分:0)
回答你的问题。首先,功能模块面向使用延迟加载更多信息https://angular.io/guide/ngmodule#angular-modularity 目标是将应用程序加载到由路由器控制的模块中。其次,希望服务实例化一次并且可以在任何地方使用。这就是核心模块的原因。核心模块将添加到我们的app.module.ts中,随处可用。总之,我认为只需使用核心模块中的服务就需要在功能模块中提供服务。对于你的其他问题,这是可能的,但这不是一个好的做法,因为你的服务可能不止一次被实例化,这是不必要的,并可能导致问题。
希望它有所帮助。