serii81
@serii81
Я люблю phр...

Как решить проблему с typescript в nuxt3?

Всем привет.
Не могу понять, как решить проблему с typescript.
Как использовать interface и value?

<script lang="ts" setup>
import { ref } from "vue";
import { useAsyncData } from "nuxt/app";
import HomeIntro from "../components/home/HomeIntro.vue";
import { I_Home } from "../interface/I_Home";

const home = ref<I_Home | null>(null);
await useAsyncData("home", () =>
  $fetch(`http://bs-bunavestire.local/wp-json/home/v1/all`)
).then((res) => {
  if (res.data) {
    home.value = res.data;
  }
})
</script>
<template>
  <div class='home'>
    <HomeIntro v-if="home.value.home_intro && home.value.home_intro.image"
               :image="home.value.home_intro.image" />
  </div>
</template>
<style lang="scss" scoped></style>


Ошибка у этой строчке
home.value = res.data

Property 'home_intro' is missing in type 'Ref<unknown>' but required in type '{ home_intro: { image: string; }; }'.


Заранее благодарен.
  • Вопрос задан
  • 314 просмотров
Пригласить эксперта
Ответы на вопрос 1
i229194964
@i229194964
Веб разработчик
необходимо указать тип данных res.data, который должен соответствовать интерфейсу I_Home
home.value = res.data as I_Home;
<HomeIntro v-if="home.value && home.value.home_intro && home.value.home_intro.image"
           :image="home.value.home_intro.image" />
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы