过去,您可以使用 Angular Universal 的 isBrowser
来检查您的页面是否在浏览器中呈现(因此您可以使用 localStorage 之类的东西)或者它是否在进行服务器端预呈现.
但似乎angular2-universal
被分解成了@angular/core
、@angular/platform-server
和@ Angular/平台浏览器
。
我在 Angular 4 的 API 文档中寻找过类似的功能,也试图在源代码的某个地方找到它,但没有成功。
我是不是遗漏了什么或者 Angular 4 检查渲染是否在浏览器中运行的方法是什么?或者我应该只是检查是否定义了 window
?
最佳答案
import { PLATFORM_ID, Inject } from '@angular/core';
import { isPlatformBrowser} from '@angular/common';
...
export class MyComponent {
...
testBrowser: boolean;
constructor(
@Inject(PLATFORM_ID) platformId: string) {
this.testBrowser = isPlatformBrowser(platformId);
if (this.testBrowser) {
//this is only executed on the browser
}
}
...
关于javascript - 如何在 Angular 4 中检查 isBrowser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46099644/