cari

Rumah  >  Soal Jawab  >  teks badan

Isytiharkan prop dalam tatasusunan dan tatasusunan objek

Saya baru tahu, jangan tentukan sifat komponen seperti ini:

    const props = defineProps({
        id: Number,
        title: String,
        name: String,
    })

Saya boleh melakukan ini:

    defineProps([
        'id',
        'title',
        'name',
    ])

Ini nampaknya tidak perlu type 声明,但是这样做有什么缺点吗? vue是否自己确定每个属性的type?

Saya menggunakan script setup.

P粉238433862P粉238433862244 hari yang lalu334

membalas semua(2)saya akan balas

  • P粉023326773

    P粉0233267732024-03-22 13:20:54

    Ini lebih daripada sekadar type kenyataan.

    Ini ialah fungsi pengesahan prop. Sintaks yang lengkap ialah

    const props = defineProps({
        name: String,
        id: [ Number, String ],
        style: {
            type: Object,
            default: ()=>{
                color: "red",
                bg-color: "white"
            },
            validator: function (value) {
                return ['red', 'blue', 'green'].includes(value.color)
            }
        },
    })

    Jadi keburukan hanya menggunakan prop bernama ialah:

    1. Tanpa 类型安全 。但即使在 typed props ia juga hanya akan menunjukkan amaran konsol dalam binaan pembangunan.

    Kelebihan menggunakan definisi prop ialah

    1. Berbilang types
    2. satu prop
    3. Nilai lalai props
    4. Fungsi pengesah tersuai

    balas
    0
  • P粉262113569

    P粉2621135692024-03-22 10:11:21

    Keburukan sudah tentu keselamatan yang lemah.

    Adakah vue menentukan jenis setiap hartanah dengan sendirinya? Tak boleh

    Apabila menyediakan tatasusunan rentetan, Vue tidak mengesahkan jenis prop yang diluluskan sama sekali, jadi jika digunakan secara salah (yang lebih berkemungkinan berlaku kerana pembangun/masa hadapan lain, anda tidak mempunyai cara untuk mengetahui perkara yang perlu diluluskan tanpa membaca selebihnya kod komponen) anda akan mendapat beberapa ralat masa jalan di suatu tempat dalam komponen dan bukannya ralat/amaran bersih (atau ralat munasabah daripada IDE) tentang nilai yang salah diluluskan sebagai prop

    Kebanyakan masa, anda harus menggunakan seberapa banyak definisi prop khusus yang mungkin.

    balas
    0
  • Batalbalas