学习使用Angular 4,我想知道绑定一个Property的组件,然后调用一个服务比将一个订阅链接到一个observable更加“昂贵”。请考虑以下事项:
我正在使用的POC有一个MenuComponent,它依赖于本地的MenuService,而后者又使用了一个常见的NavigationService,而后者又使用http来获取json的导航信息。
/Navigation/MenuComponent
/MenuService
/Services/NavigationService
MenuComponent
有一个NavigationDetails[]
公开Property
,后者又将NavigationDetails[]
个公开Property
包裹在本地MenuService
内正在将一个NavigationDetails[]
公共Field
包装在NavigationService中,当http响应的订阅被触发时,该公共NavigationService
被填充。
不知何故它被触发(它是通过轮询工作吗?)并且UI组件刷新。整齐。
但是Observable<NavigationDetails[]>
可能会创建一个公共MenuService
属性,MenuComponent
可以订阅,而MenuService
可以订阅...它比第一个选项更抽象,因为Observables
不仅包括对subscribe()
等的引用,还包括bind
等,这使代码更易于维护。但如果第一个选项是计算密集的(例如:通过轮询),那么可能是必要的吗?
是否存在一种普遍接受/推荐的方法来保持组件盲目地不知道常见的全局服务并仅仅依赖本地服务属性?
谢谢!