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