Angular:isPlatformServer和cdk Platform有什么区别?

时间:2019-08-01 06:48:48

标签: angular typescript server-side-rendering

在Angular中,有两种检查浏览器或服务器平台的方法。一个是开箱即用的:

import { isPlatformServer } from '@angular/common';
import { Inject, PLATFORM_ID } from '@angular/core';
// ...
 constructor(@Inject(PLATFORM_ID) private platformId) 
// ...
   if (isPlatformServer(this.platformId) {
       // this is the server
    }
//...

另一个是通过Angular CDK:https://material.angular.io/cdk/platform/api

import { Platform } from '@angular/cdk/platform';
// ...
constructor(private _platform: Platform)
// ...
   if (!this._platform.isBrowser){
     // this is not the browser, so it is the server
    }

一个人比另一个人有好处吗?如果我已经使用CDK,始终使用其浏览器检查是否可靠?

1 个答案:

答案 0 :(得分:0)

嗯,我要回答我的问题,说,它们是相同的... cdk是内置函数的包装器

https://github.com/angular/components/blob/master/src/cdk/platform/platform.ts#L40