下面这个是父组件中请求数据的例子,父组件的代码如下:

    1. <template>
    2. <ChildDemo v-if="user" :user="user" />
    3. <div v-else>
    4. <p>loading...</p>
    5. </div>
    6. </template>
    7. <script setup lang="ts">
    8. import { ref, onMounted } from "vue";
    9. import ChildDemo from "./Child.vue";
    10. const user = ref(null);
    11. async function fetchUser() {
    12. return new Promise((resolve) => {
    13. setTimeout(() => {
    14. resolve({
    15. name: "张三",
    16. phone: "13800138000",
    17. });
    18. }, 2000);
    19. });
    20. }
    21. onMounted(async () => {
    22. user.value = await fetchUser();
    23. });
    24. </script>