myRef.value 持有一个代理,即使它应该持有一个简单的数组

问题描述 投票:0回答:1

我正在做一个简单的应用程序,从我的 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变量配合良好

javascript vue.js asynchronous proxy vuejs3
1个回答
0
投票

我的错误是我原来的帖子不完整,我的问题是没有显示任务,但这是因为我使用了 myTasks.value 而不是 myTasks。 我假设我的问题来自这个代理(我在另一篇文章中读到代理希望被阅读)。 谢谢 Estus FLask 的回答:)

© www.soinside.com 2019 - 2024. All rights reserved.