子视图初始化后 App.component.ts 中的 Angular 8+ Fire 事件

Posted

技术标签:

【中文标题】子视图初始化后 App.component.ts 中的 Angular 8+ Fire 事件【英文标题】:Angular 8+ Fire event in App.component.ts AFTER child view inits 【发布时间】: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']);
      
    );
  
 

【问题讨论】:

你试过解析器吗? 【参考方案1】:

你试过解析器吗?

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

【讨论】:

您似乎忘记添加上述说明的链接了。 我有 300 多个组件。这将是一个巨大的实施。有没有其他办法? 那么你能改变你的跟踪视图来监听改变页面标题的api调用吗?或者可以使用 MutationObserver 更改标题?

以上是关于子视图初始化后 App.component.ts 中的 Angular 8+ Fire 事件的主要内容,如果未能解决你的问题,请参考以下文章

在 angular4 的 app.component.ts 文件中使用外部库变量

如何根据条件配置Angular 5中的app-routing.module来加载两个子路由模块中的一个或另一个?

一款查询天气的WebApp

我如何跟踪 ionic 2 中 app.component.ts 中的每个错误 [关闭]

src/app/app.component.ts(391,9) 中的错误:错误 TS7017:元素 > 隐式具有“任何”类型,因为类型“Foo”没有索引签名

typescript 秋田app.component.ts