我正在 vue.js + firebase 中开发一个类似 Messenger 的应用程序。我想做的是 - 在每次路由更改时,从 db 中获取一些对应于 id(存储在路由中)的数据,然后将其显示在屏幕上。我对这些数据有一些奇怪的行为,但它并没有按预期工作。
编码:
methods: {
getRoomName() {
db.collection("rooms")
.doc(this.params)
.onSnapshot((snapshot) => (this.roomName = snapshot.data().name));
},
},
watch: {
$route(to, from) {
this.getRoomName();
},
},
其中数据:
data() {
return {
input: "",
roomName: "",
params: this.$route.params.id,
message: "",
roomNameTest: "",
};
},
模板:<span class="roomName">{{roomName}}</span>