Для меня это хорошее время для использования @ ngrx / Effects .Если вы уже используете @effects
, это не должно быть слишком сложным для использования.Если нет, то общий шаблон, который вам, возможно, придется принять, состоит в том, чтобы переместить вызов службы, который загружает данные (например, побочные эффекты, такие как асинхронные вызовы службы), в файл эффектов.Затем вы можете сделать что-то подобное для отслеживания аналитических событий.Вышеуказанные преимущества заключаются в том, что он отслеживается в одном месте.
@Effect({ dispatch: false })
trackEvents = this.actions.pipe(
ofType(...),
tap(({ type, payload }) => {
// make call to Angulartics
this.angulartics2.eventTrack.next({
action: type,
properties: { ...payload },
});
})
)
Полученный код копируется с https://blog.angularindepth.com/start-using-ngrx-effects-for-this-e0b2bd9da165#8a65.