【发布时间】:2021-11-30 18:04:28
【问题描述】:
我正在尝试使用 Laravel 和 vue.js 开发一个 Web 应用程序,即使我处于离线状态,我也可以在其中同步来自 Firestore 的数据。我在firestore 的特性中看到它提供了这个特性。但我不知道如何将此功能添加到我的项目中。我已经为 Laravel 中的 Firestore 克隆了 suhasrkms/laravel-with-firestore。但我面临的主要问题是我不知道如何添加离线代码/持久性。我尝试在 firestore doc 中提供的 resources/js/offline-persistence.js 中添加代码。我也尝试在刀片文件中添加代码。
请提供解决方案,您的回复对我很有价值。
<script type="text/javascript">
firebase.firestore().enablePersistence()
.catch((err) => alert(Something failed for enablePersistence, code: ${err.code}));
firebase.firestore().collection('test')
.onSnapshot(snaps => {
if (snaps.empty) { return; }
const preDataElm = document.getElementById("preData");
while (preDataElm.firstChild) {
preDataElm.removeChild(preDataElm.firstChild);
}
let list = snaps.docs.map(snap => {
return {id: snap.id, ...snap.data()};
});
let newElm = document.createElement("PRE");
newElm.innerText = JSON.stringify(list, null, 2);
return preDataElm.appendChild(newElm);
});
function tryMe() {
document.getElementById("result").innerHtml = "";
firebase.firestore()
.collection('test')
.add({test: new Date().toString()})
.then((docRef) => alert(Data inserted successfuly ID: ${docRef.id}));
}
</script>
【问题讨论】:
-
我的回答有用吗?
-
感谢您的不断询问,我无法应用它,所以我选择应用 Laravel 的 Chache 包。 :)
-
stackoverflow.com/questions/69835844/… 如果您知道任何解决方案,请检查这个问题。
标签: javascript laravel vue.js google-cloud-firestore