Angular Universal Reload两次

Angular Universal App为初始代码重新加载内容两次,如何防止这种情况发生?

我把我的初始代码放在ngOnInit()中仍然得到相同的结果。


Angular Universal首先在服务器端预渲染项目的js,然后一旦渲染dom,它将切换到客户端,而不管所获取的数据如何。 确保你一旦得到它,就不要再调用数据或API。 这应该有助于停止第二次重新加载。


例如,如果您只想在服务器端而不是在前端运行查询或代码(又称“不是两次”),则可以检查平台以查看代码的执行位置

import {Injectable, PLATFORM_ID} from '@angular/core';
import {isPlatformServer} from '@angular/common';

@Injectable()
export class Something {

  constructor(@Inject(PLATFORM_ID) private platformId: Object) {
  }

  getSomething() {
    if (isPlatformServer(this.platformId)) {
      // Here we execute the code on the server side only
    } else if (isPlatformServer(this.platformId)) {
      // Here we execute the code on the browser side only
    }
  }
}
链接地址: http://www.djcxy.com/p/31301.html

上一篇: Angular Universal Reload twice

下一篇: Angular with Universal does not run