【问题标题】:Angular 8+ Fire event in App.component.ts AFTER child view inits子视图初始化后 App.component.ts 中的 Angular 8+ Fire 事件
【发布时间】:2022-01-19 20:35:47
【问题描述】:

我正在尝试将 HubSpot 页面跟踪添加到我的 Angular 8+ 应用程序中。目前,我正在app.component.ts 内的路由器上连接 NavigationEnd 事件。我遇到的问题是在每个子组件中都设置了页面标题,因此 HubSpot 代码在设置标题之前运行,并且分析是错误的。有没有办法从 app.component.ts 全局挂钩“子加载后”?我意识到我可以使用那里的标题将数据属性添加到我的路线中,这仅适用于静态标题。我的许多组件获取数据,然后显示标题。

export class AppComponent implements OnInit {
  title = 'app';
  constructor(private router: Router, private titleService: Title, public settings: SettingsProvider, private navService: NavigationService) {}

  ngOnInit() {
    let win = <any>window;
    var _hsq = (win._hsq = win._hsq || []);

    this.router.events.subscribe((evt) => {
      if (!(evt instanceof NavigationEnd)) {
        return;
      }

      if (_hsq != undefined) {
        console.log('tracking hubspot page view');
        _hsq.push(['setPath', evt.url]);
        _hsq.push(['trackPageView']);
      }
    });
  }
 }

【问题讨论】:

  • 你试过解析器吗?

标签: angular hubspot


【解决方案1】:

你试过解析器吗?

{path: 'path/:id', component: YComponent, resolve: { yourData: YourResolver}}

【讨论】:

  • 您似乎忘记添加上述说明的链接了。
  • 我有 300 多个组件。这将是一个巨大的实施。有没有其他办法?
  • 那么你能改变你的跟踪视图来监听改变页面标题的api调用吗?或者可以使用 MutationObserver 更改标题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-28
  • 1970-01-01
  • 1970-01-01
  • 2018-08-13
  • 2016-08-16
  • 2018-01-10
相关资源
最近更新 更多