【发布时间】:2023-02-06 17:02:16
【问题描述】:
我不确定我的代码有什么问题。我希望更新常量“声音”,但我尝试了很多方法,“声音”属性的值仍然不会根据数据库发生变化
const computed = {
sounds: {
get() {
return this.mcollection1Data.value;
},
set(value) {
this.mcollection1Data.value = value;
}
}
};
下面是完整代码
<script setup>
import { ref, onMounted } from 'vue';
import axios from 'axios';
import playsound from './playsound.vue'
const sounds = ref([]);
const collection1Data = ref([]);
const collection2Data = ref([]);
const mcollection1Data = ref([]);
const mcollection2Data = ref([]);
const fetchData = async () => {
const [collection1Response, collection2Response] = await Promise.all([
axios.get('https://koh-xyn.com:50100/onboardshows'),
axios.get('https://koh-xyn.com:50100/onboardlands'),
]);
collection1Data.value = collection1Response.data;
collection2Data.value = collection2Response.data;
const currentTime = new Date().getTime();
const filteredData1 = collection1Response.data.filter(doc => {
const updatedTime = new Date(doc.updatedAt).getTime();
return currentTime - updatedTime < 20 * 1000;
});
const filteredData2 = collection2Response.data.filter(doc => {
const updatedTime = new Date(doc.updatedAt).getTime();
return currentTime - updatedTime < 20 * 1000;
});
mcollection1Data.value = filteredData1;
mcollection2Data.value = filteredData2;
};
const computed = {
sounds: {
get() {
return this.mcollection1Data.value;
},
set(value) {
this.mcollection1Data.value = value;
}
}
};
onMounted(() => {
fetchData();
setInterval(fetchData, 1000);
});
const isRecentlyUpdated = (updatedAt) => {
const updatedTime = new Date(updatedAt);
return (Date.now() - updatedTime.getTime()) < 15000;
};
</script>
【问题讨论】:
-
set(value) { mcollection1Data.value = value; }试试这行代码
标签: javascript vuejs3