子视图初始化后 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来加载两个子路由模块中的一个或另一个?
我如何跟踪 ionic 2 中 app.component.ts 中的每个错误 [关闭]
src/app/app.component.ts(391,9) 中的错误:错误 TS7017:元素 > 隐式具有“任何”类型,因为类型“Foo”没有索引签名