Rumah  >  Artikel  >  hujung hadapan web  >  Tidak bolehkah data dalam komponen vue menjadi fungsi?

Tidak bolehkah data dalam komponen vue menjadi fungsi?

青灯夜游
青灯夜游asal
2022-12-19 17:22:072086semak imbas

Tidak, data dalam komponen vue mestilah fungsi. Komponen dalam Vue digunakan untuk digunakan semula Untuk mengelakkan penggunaan semula data, ia ditakrifkan sebagai fungsi. Data data dalam komponen vue harus diasingkan antara satu sama lain dan tidak menjejaskan satu sama lain Setiap kali komponen digunakan semula, data data hendaklah disalin sekali Kemudian, apabila data data dalam komponen ditukar di tempat yang digunakan semula. data lain akan disalin Jika data data komponen tempatan yang digunakan semula tidak terjejas, anda perlu mengembalikan objek sebagai status komponen melalui fungsi data.

Tidak bolehkah data dalam komponen vue menjadi fungsi?

Persekitaran pengendalian tutorial ini: sistem windows7, versi vue3, komputer DELL G3.

Atribut data yang ditakrifkan dalam contoh vue boleh sama ada objek atau fungsi

const app = new Vue({
    el:"#app",
    // 对象格式
    data:{
        foo:"foo"
    },
    // 函数格式
    data(){
        return {
             foo:"foo"
        }
    }
})

Walau bagaimanapun, atribut data yang ditakrifkan dalam komponen hanya boleh menjadi fungsi

Jika data komponen ditakrifkan secara langsung sebagai objek

Vue.component('component1',{
    template:`<div>组件</div>`,
    data:{
        foo:"foo"
    }
})

, anda akan mendapat mesej amaran

Tidak bolehkah data dalam komponen vue menjadi fungsi?

Perihalan amaran : Kembalikan Data hendaklah menjadi fungsi dalam setiap contoh komponen

Mengapakah atribut data merupakan fungsi dan bukannya objek?

Atribut data dalam komponen Vue tidak boleh menjadi objek kerana objek itu adalah jenis rujukan, dan komponen tersebut akan dirujuk oleh berbilang kejadian pada masa yang sama Hasilnya ialah berbilang kejadian berkongsi objek, dan salah satu komponen berubah Jika nilai dalam objek data dipadamkan, kejadian lain juga akan terjejas.

Seperti yang ditunjukkan dalam gambar, selepas komponen digunakan semula, mengklik butang secara rawak dalam salah satu komponen juga akan menjejaskan nilai dua komponen yang lain

Tidak bolehkah data dalam komponen vue menjadi fungsi?

vue Sebab mengapa data komponen ialah fungsi: data ialah fungsi, dan dengan mengembalikan objek, setiap kejadian boleh mempunyai objek bebasnya sendiri, dan kejadian tidak mempengaruhi satu sama lain seperti yang ditunjukkan dalam rajah di bawah

Tidak bolehkah data dalam komponen vue menjadi fungsi?

Kesimpulan

Data objek contoh akar boleh menjadi objek atau fungsi ( instance root ialah singleton), dan tidak akan ada pencemaran data

Data objek instance komponen mestilah satu fungsi Tujuannya adalah untuk menghalang objek berbilang komponen daripada berkongsi data yang sama dan menyebabkan pencemaran data. Dalam bentuk fungsi, ia akan digunakan sebagai fungsi kilang apabila initData akan mengembalikan objek data baharu

Penerangan:

  • The komponen dalam vue digunakan Boleh diguna semula, untuk mengelakkan penggunaan semula data, tentukan ia sebagai fungsi.

  • Data data dalam komponen vue hendaklah diasingkan antara satu sama lain dan tidak menjejaskan satu sama lain Setiap kali komponen digunakan semula, data data hendaklah disalin sekali tempat tertentu diduplikasi Apabila data data dalam komponen tempatan yang digunakan ditukar, data data komponen tempatan yang digunakan semula tidak akan terjejas. Ia adalah perlu untuk mengembalikan objek sebagai status komponen melalui fungsi data.

  • Apabila kita menulis data dalam komponen sebagai fungsi, data ditakrifkan dalam bentuk nilai pulangan fungsi, supaya setiap kali komponen digunakan semula, data baru akan dikembalikan, dengan Skopnya sendiri adalah serupa dengan mencipta ruang data peribadi untuk setiap tika komponen, membenarkan setiap tika komponen mengekalkan datanya sendiri.

  • Apabila tarikh komponen kami hanya ditulis dalam bentuk objek, kejadian ini menggunakan pembina yang sama Disebabkan ciri-ciri JavaScript, semua kejadian komponen berkongsi satu data, jadi Ia akan membawa kepada keputusan yang mengubah segala-galanya.

(Mempelajari perkongsian video: pembangunan bahagian hadapan web, Video pengaturcaraan asas)

Atas ialah kandungan terperinci Tidak bolehkah data dalam komponen vue menjadi fungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Apakah mod yang vue gunakan?Artikel seterusnya:Apakah mod yang vue gunakan?