Javascript 如何在Angular 4中检查isBrowser
过去,您可以使用Angular Universal提供的Javascript 如何在Angular 4中检查isBrowser,javascript,angular,typescript,Javascript,Angular,Typescript,过去,您可以使用Angular Universal提供的isBrowser检查页面是否在浏览器中呈现(因此您可以使用localStorage之类的工具),或者是否在服务器端进行预呈现 但似乎angular2 universal被分解为@angular/core、@angular/platform server和@angular/platform browser 我在Angular 4的API文档中寻找过类似的功能,也试图在源代码中找到它,但运气不好 我是否遗漏了什么,或者检查渲染是否在浏览器中运
isBrowser
检查页面是否在浏览器中呈现(因此您可以使用localStorage之类的工具),或者是否在服务器端进行预呈现
但似乎angular2 universal
被分解为@angular/core
、@angular/platform server
和@angular/platform browser
我在Angular 4的API文档中寻找过类似的功能,也试图在源代码中找到它,但运气不好
我是否遗漏了什么,或者检查渲染是否在浏览器中运行的方法是什么?或者我应该只检查是否定义了
窗口?您可以导入isPlatformBrowser()
:
import { isPlatformBrowser } from '@angular/common';
这将允许您检查它是否在浏览器中渲染
需要注意的是,@angular/common
中还有一个isPlatformServer
。isPlatformBrowser()-可能与
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
}
}
...