如何从Angular2服务捕获任意组件的状态

时间:2017-04-20 21:11:25

标签: angular angular2-routing angular2-services angular2-directives

上下文

我将BI遥测/记录库实现为Angular2服务。我的目标是每次访问新的"页面时都会触发PageView事件。在我的应用程序中。

为此,我目前正在订阅路由器的事件(基本上按照this answer的建议进行)。我的综合浏览量现在正在导航中正确启动。

当前问题:

我的PageView的有效负载的一部分是显示该页面中包含的内容。 因此我的服务需要有一些方法来检查"应用程序中的任意组件。

基于我对Angular2的有限理解,它根本不清楚什么是合理的方法。

我想知道是否"检查来自服务的任意应用程序组件"对于其他一些问题,以前已经解决了这个问题。

1 个答案:

答案 0 :(得分:0)

Answering my own question:

I ended up implementing my own attribute directive which allows component authors to annotate their html with the relevant data.

This contextual data is then "pushed" by the directive into my telemetry service (by way of an rxjs Observable). The telemetry service then handles all the logging.