我尝试创建一个网站,为我的学校作业提供文字课程。我已经完成了身份验证和课程备份。现在,我尝试创建实时聊天。但是,当我更改数据库时,有必要重新加载网站以进行更改。不重新加载怎么办?
我的加载脚本服务:
import { HttpClient } from "@angular/common/http";
import { Injectable } from "@angular/core";
@Injectable()
export class CoursService {
liste_cours = []
constructor(private httpClient: HttpClient) {
this.getCoursFromServer()
}
saveCoursToServer() {
this.httpClient
.put("https://databaselink/cours.json", this.liste_cours)
.subscribe(
() => {
console.log("Enregistrement terminé!");
},
error => {
console.log("Erreiorr ! : " + error);
}
);
}
getCoursFromServer() {
this.httpClient
.get<any[]>("https://databaselink/cours.json")
.subscribe(
response => {
this.liste_cours = response;
console.log("Loading finish");
},
error => {
console.log("Error!: " + error);
}
);
}
}
感谢您的回答!
答案 0 :(得分:0)
您似乎正在通过向其发出HTTP请求来访问Firebase实时数据库。这意味着您在进行HTTP调用时会获得当前数据,但此后将不会收到数据的更新。重新加载页面后,您将再次获得最新数据。
有几种方法可以使您的页面在数据更改时自动更新,而无需用户重新加载页面。
on('value'
listener或subscribing to the node获得实时更新。我强烈建议您按照给出的顺序考虑这些解决方案。