vue3加载界面时如何初始化数据

需求:登录页面有个图片验证码,需要请求后台,得到的结构如下:

{
    "captcha_id":"XRjYnf3NEqmEDARRzGMZ",
    "captcha_image":"data:image/png;base64,XXXX"
}

封装了一个函数getLoginCaptcha(),用于发送请求(axios方式)。代码如下,网络中查看请求响应都没有问题,那么我该如何获取这个数据并赋值给视图呢?我的代码如下(省略各种import):

<script lang="ts" setup>
let captcha_image = ref()
onMounted(()=>{ //改成onBeforeMount一样有问题,加async await一样不起作用
  init()
})
const init = ()=>{
  getLoginCaptcha().then(res=>{
  console.log(res)// 此处打印为undefined
  captcha_image.value=res
  }).catch(err=>{
    console.log(err)
  })
}
</script>
讨论数量: 2

getLoginCaptcha 都获取undefined,问题就是那个函数。

const init = ()=>{
  Promise.resolve('https://cdn.learnku.com/uploads/avatars/56896_1641617649.jpg!/both/100x100').then(res=>{
  console.log(res)// 此处打印为undefined
  captcha_image.value=res
  }).catch(err=>{
    console.log(err)
  })
}
1年前 评论
meitian (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!