【发布时间】:2017-12-01 10:26:14
【问题描述】:
我目前正在开发一个Angular 5 GIS 项目,该项目专注于包含openlayers 地图的中心组件。我基本上需要所有其他组件,才能操纵这张地图。因此,我需要一个干净的解决方案让其他组件调用这个中心组件中的功能,例如。更改地图上的位置、更改图层等。
我尝试过将@Output/@Input 与EventEmitter 一起使用,这很有效,但是由于最终需要100 个这样的事件,所以规模非常大。有没有办法制作一个服务,它可以注入到每个相关的组件中,进而可以管理对地图组件的操作?我已经查看了主题/可观察的内容,但是很难弄清楚这是否是一个可行的选择。该应用程序预计会变得非常大,所以我希望从一开始就这样做。我知道有很多关于这方面的材料和帖子,但还没有找到任何我觉得满足这个用例的内容。
任何有角度的向导有一些好的建议吗?非常感谢!
【问题讨论】:
-
将地图对象放入服务中,然后将服务注入到每个组件中。主要组件设置地图,而其他组件获取它。
标签: javascript angular typescript gis openlayers