榆 2021-08-26 11:10 采纳率: 100%
浏览 2531
已结题

vue3的setup获取axios的响应数据

setup语法中没有this,如何将axios获取的响应数据赋值给setup里面的data变量,有没有人能够解答一下,我是想不出来了
img

  • 写回答

3条回答 默认 最新

  • 前行的枫_denglinbo 2021-08-26 15:09
    关注
    1.用ref
    setup(){
          let data = ref<any>();//类型自己定义,我这里用any
          const submit = ()=>{
              post('/login').then(res=>{
                data.value = res.data;
              })
          }
         return {data,submit};
    }
    
    2.用reactive
    setup(){
          let dataState = reactive({
              data:''" as any //类型自己定义我这里用any
          });
          const submit = ()=>{
              post('/login').then(res=>{
                dataState.data= res.data;
              })
          }
         return {...toRefs(dataState),submit};   // 记得引入toRefs
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • CSDN专家-Time 2021-08-26 11:12
    关注

    你的这个函数不在 methods里,拿不到this的域。不能用vue的双向绑定。
    扔到methods里做。

    评论
  • 在下月亮有何贵干 前端领域优质创作者 2021-08-26 11:53
    关注

    1、由于在执行 setup函数的时候,还没有执行 Created 生命周期方法,所以在 setup 函数中,无法使用 data 和 methods 的变量和方法
    2、由于我们不能在 setup函数中使用 data 和 methods,所以 Vue 为了避免我们错误的使用,直接将 setup函数中的this修改成了 undefined
    3、setup函数只能是同步的不能是异步的

    结合以上三点需要异步执行的获取数据以及保存状态修改到常用生命周期里面进行,不要用setup

    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月4日
  • 已采纳回答 8月27日
  • 修改了问题 8月26日
  • 创建了问题 8月26日

悬赏问题

  • ¥15 求局部放电案例库,用于预测局部放电类型
  • ¥100 QT Open62541
  • ¥15 stata合并季度数据和日度数据
  • ¥15 谁能提供rabbitmq,erlang,socat压缩包,记住版本要对应
  • ¥15 Vue3 中使用 `vue-router` 只能跳转到主页面?
  • ¥15 用QT,进行QGIS二次开发,如何在添加栅格图层时,将黑白的矢量图渲染成彩色
  • ¥50 监控摄像头 乐橙和家亲版 保存sd卡的文件怎么打开?视频怎么播放?
  • ¥15 Python的Py-QT扩展库开发GUI
  • ¥60 提问一下周期性信信号的问题
  • ¥15 jtag连接不上fpga怎么办