Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Angular 4中检查isBrowser_Javascript_Angular_Typescript - Fatal编程技术网

Javascript 如何在Angular 4中检查isBrowser

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文档中寻找过类似的功能,也试图在源代码中找到它,但运气不好 我是否遗漏了什么,或者检查渲染是否在浏览器中运

过去,您可以使用Angular Universal提供的
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
            }
    }
...