typescript - objek reaktif Vue yang berisi array objek


Saya telah mencoba banyak format berbeda, tetapi hanya bisa membuat ini berhasil:

// This works
<script setup lang="ts">
import { reactive } from 'vue'
import { IPixabayItem } from '../interfaces/IPixapayItem'
const imageList: IPixabayItem[] = []
const foundImages = reactive(
    {
        images: imageList
    }
)
</script>

Entah bagaimana saya ingin menghindari const 'imageList' dan menginstansiasi 'IPixabayItem[]' di dalam objek reaktif; tetapi tidak bisa membuat ini terpanggil.

// This dosn't work
<script setup lang="ts">
import { reactive } from 'vue'
import { IPixabayItem } from '../interfaces/IPixapayItem'
const foundImages = reactive(
    {
        images: IPixabayItem[] = []
    }
)
</script>

Bantuan dihargai

Jawaban #1

Anda dapat menyediakan array kosong sebagai nilai untuk images dan menetapkan IPixabayItem[] sebagai parameter generik dari reactive.

const foundImages = reactive<{images: IPixabayItem[]}>({
    images: []
})

Taman bermain


atau Anda bisa menggunakan kata kunci as:

const foundImages = reactive({
    images: [] as IPixabayItem[]
})

Taman bermain