Angular Universal App为初始代码重新加载内容两次,如何防止这种情况?
我把我的初始代码放在ngOnInit()中仍然得到相同的结果。
答案 0 :(得分:0)
Angular Universal首先在服务器端预呈现项目的js,然后一旦呈现dom,它就会切换到客户端,而不管获取的数据如何。确保在获得数据或API后再也不要再调用它们。这应该有助于阻止第二次重装。
答案 1 :(得分:0)
例如,如果您希望仅在服务器端运行查询或代码,而不是在前端,而不是两次",您可以检查平台以查看代码的位置待执行
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 {
// Here we execute the code on the browser side only
}
}
}