Sta*_*eff 4 javascript typescript angular
在过去,您可以使用isBrowserAngular Universal来检查您的页面是否在浏览器中呈现(因此您可以使用localStorage之类的东西),或者它是否正在进行服务器端预呈现.
但它似乎angular2-universal被解散了@angular/core,@angular/platform-server并且@angular/platform-browser.
我在Angular 4的API文档中寻找类似的功能,并试图在源代码的某个地方找到它,但没有运气.
我错过了什么或Angular 4检查渲染是否在浏览器中运行的方式是什么?或者我应该只检查是否window已定义?
小智 11
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
}
}
...
Run Code Online (Sandbox Code Playgroud)
小智 3
您可以isPlatformBrowser(<platform id>)这样导入:
import { isPlatformBrowser } from '@angular/common';
Run Code Online (Sandbox Code Playgroud)
这将允许您检查它是否在浏览器中呈现。
请注意,还有一个isPlatformServerin @angular/common。
| 归档时间: |
|
| 查看次数: |
4221 次 |
| 最近记录: |