【发布时间】: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']);
}
});
}
}
【问题讨论】:
-
你试过解析器吗?