请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师你好,我的result为啥是any

图片描述

以下是我的代码:

useURLLoader.ts

import axios from 'axios'

function useURLLoader(url: string){
    const result = ref(null)
    const loading = ref(true)
    const loaded = ref(false)
    const error = ref(null)
    axios.get(url).then((rawData)=> {
        loading.value = false
        loaded.value = true
        result.value = rawData.data
    }).catch(e => {
        error.value = e
        loaded.value = false
    })
    return {
        result,
        loading,
        loaded,
        error
    }
}

export default useURLLoader

```<template>
  <div id="app">
    <img src="./assets/logo.png" alt="" />
    <h1>{{ count }}</h1>
    <h1>{{ double }}</h1>
    <ul>
      <li v-for="number in numbers" :key="number">
        <h1>{{ number }}</h1>
      </li>
    </ul>
    <h1>{{ person.name }}</h1>
    <h1>{{ greetings }}</h1>

    <h1>x:{{ x }}</h1>
    <h1>y:{{ y }}</h1>

    <h1 v-if="loading">loading...</h1>
    <img v-if="loaded" :src="result.message" alt="" />
    <button @click="increase">?+1</button>
    <button @click="updateGreetings">updateGreetings</button>
  </div>
</template>

<script lang="ts">
import {
  computed,
  ref,
  reactive,
  toRefs,
  onMounted,
  onUpdated,
  onRenderTriggered,
  watch,
  onUnmounted,
} from "vue";
import useMousePosition from "./hooks/useMousePosition";
import useURLLoader from "./hooks/useURLLoader";
export default {
  mame: "App",
  setup() {
    const { result, loaded, loading } = useURLLoader(
      "https://dog.ceo/api/breeds/image/random"
    );
    return {
      result,
      loaded,
      loading,
    };
  },
};
</script>
<style>
#app {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
</style>

正在回答 回答被采纳积分+3

2回答

a心晴 2021-06-24 11:28:40

@老师。我的代码也是any,这是因为axios的返回的AxiosResponse<any>类型就是 any,遇到这种情况该怎么处理。
可以转换类型吗?


https://img1.sycdn.imooc.com//szimg/60d3fbe409170bd606350528.jpg


0 回复 有任何疑惑可以回复我~
  • 张轩 #1
    同学 如果可以的话 可以把源代码(git)提供一下 我在本地没发复现这个问题 我在本地帮你看看
    回复 有任何疑惑可以回复我~ 2021-06-25 09:49:28
张轩 2021-01-12 09:56:28

同学你好 我在我本地直接用你的代码 并没有出现你的问题 请问你另外一个函数 useMousePosition 的 X,Y 能获得正确的类型吗?

0 回复 有任何疑惑可以回复我~
  • 提问者 随心无憾 #1
    X,Y是Ref<number>的
    回复 有任何疑惑可以回复我~ 2021-01-12 22:24:45
  • 张轩 回复 提问者 随心无憾 #2
    那就需要你提供一下源代码啦 可以上传 git 我在本地看一下
    回复 有任何疑惑可以回复我~ 2021-01-13 09:45:00
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信