在vue3中使用ajax请求数据的时候,由于不能在setup前面使用async,使用后会导致return的返回值全部变成promise的返回值,所以在执行的时候得使用一些特定的钩子来发送请求
和vue2一样,选择在dom节点渲染完成的时候发送请求,
(getdata为封装的数据)
![]()

这样写完之后会发现


页面显示没有数据,但是tableData却可以显示数来数据,但是因为vue的承诺是相应式数据发生改变,页面就会重新渲染,所以是tabledata的响应式被替换成了不能响应的数据
把数据压入原来的设置成响应式的数组就可以检测到了

在Vue3中遇到使用ajax请求数据时,由于setup前不支持async,导致返回值变为Promise。解决办法是在DOM渲染完成后发送请求,如在onMounted钩子中。然而,数据虽能正常获取,但响应式被破坏,页面未更新。将数据压入原有的响应式数组可解决此问题。
1620

被折叠的 条评论
为什么被折叠?



