我正在做一个简单的应用程序,从我的 PocketBase(像 Firebase 一样的 BaaS)获取数据(我的任务)。
我想将我的tasks存储到ref中,因为它可能会随着时间的推移而改变(例如:用户修改它的名称)。
我应该从我的 *getFullList() 方法中获取一个简单的数组,*但之后 VueJS 以某种方式将我的值包装在代理周围,我无法使用其中的数据。
我尝试将结果存储在非引用变量中并且它有效,我只是将我的任务数组放入其中。
但是当使用 ref 和 .value 时,这个代理会出现,我不知道为什么(它不会为我的其他 ref 执行此操作,例如 loading )
这可能是一个愚蠢的初学者错误,但我已经一遍又一遍地阅读文档,似乎无法理解这一点:(
这是我的 MyTasks.vue 和控制台打印语句的代码
<script setup>
import { ref } from 'vue'
import { pb } from '../usePb'
const loading = ref(false)
const error = ref(null)
const myTasks = ref(null)
const fetchData = async () => {
loading.value = true
try {
myTasks.value = await pb.collection('tasks').getFullList()
} catch (err) {
error.value = err.message
} finally {
loading.value = false
console.log(myTasks.value)
console.log(loading.value)
}
}
fetchData()
</script>
我例外 myTasks.value 来保存数组而不是代理
我尝试让我的变量不是ref,它有效,但不是我想要的
与我的其他ref变量配合良好
我的错误是我原来的帖子不完整,我的问题是没有显示任务,但这是因为我使用了 myTasks.value 而不是 myTasks。 我假设我的问题来自这个代理(我在另一篇文章中读到代理希望被阅读)。 谢谢 Estus FLask 的回答:)