我已经使用Angular Universal实现了服务器端渲染。我有一种方法,当DOM是交互式的,并且window.navigator
之类的浏览器API可用时,我将触发该方法(因为我想对用户的语言环境进行处理)。
在我可以使用window.navigator
时是否有生命周期挂钩或其他监听方法?
答案 0 :(得分:0)
我测试了在本地运行节点服务器的情况,发现ngOnInit()
是运行导航器代码的合适位置。 ngOnInit()
将被称为服务器端,但会在浏览器中再次被调用,因此您需要对导航器进行真实检查:
ngOnInit() {
if (this.window && this.window.navigator) {
// do stuff
}
}
值得注意的是,我正在使用window provider访问窗口-
constructor(@Inject(WINDOW) private window: any) { }