Jadual Kandungan
1. Penyahgandingan parameter penghalaan " >1. Penyahgandingan parameter penghalaan
2. Komponen berfungsi " > 2. Komponen berfungsi
3. Skop gaya " > 3. Skop gaya
Penggunaan lanjutan jam tangan" >Penggunaan lanjutan jam tangan
5 jam tangan memantau berbilang pembolehubah " >5 jam tangan memantau berbilang pembolehubah
6 Parameter acara $event" >6 Parameter acara $event
7 Pendengar acara terprogram " >7 Pendengar acara terprogram
Rumah hujung hadapan web View.js [Organisasi dan Perkongsian] 8 Petua Pembangunan Vue Praktikal

[Organisasi dan Perkongsian] 8 Petua Pembangunan Vue Praktikal

Feb 24, 2023 pm 07:29 PM
vue

Artikel ini menyusun dan berkongsi 8 kemahiran pembangunan Vue yang hebat, termasuk penyahgandingan parameter penghalaan, komponen berfungsi, skop gaya, penggunaan lanjutan jam tangan, pemantauan jam tangan berbilang pembolehubah, dll. Saya harap ia akan membantu semua orang!

[Organisasi dan Perkongsian] 8 Petua Pembangunan Vue Praktikal

1. Penyahgandingan parameter penghalaan

Biasanya parameter penghalaan digunakan dalam komponen, kebanyakan orang Akan lakukan perkara berikut.

export default {
    methods: {
        getParamsId() {
            return this.$route.params.id
        }
    }
}
Salin selepas log masuk

Menggunakan $route dalam komponen menghasilkan gandingan yang kuat ke laluan sepadannya, mengehadkan fleksibiliti komponen dengan mengehadkannya kepada URL tertentu. Pendekatan yang betul ialah memisahkannya melalui prop.

const router = new VueRouter({
    routes: [{
        path:  /user/:id ,
        component: User,
        props: true
    }]
})
Salin selepas log masuk

Selepas menetapkan atribut props laluan kepada benar, komponen boleh menerima parameter params melalui props. [Cadangan berkaitan: tutorial video vuejs, pembangunan bahagian hadapan web]

export default {
    props: [ id ],
    methods: {
        getParamsId() {
            return this.id
        }
    }
}
Salin selepas log masuk

Anda juga boleh mengembalikan prop melalui mod berfungsi.

const router = new VueRouter({
    routes: [{
        path:  /user/:id ,
        component: User,
        props: (route) => ({
            id: route.query.id
        })
    }]
})
Salin selepas log masuk

2. Komponen berfungsi

Komponen fungsian tidak mempunyai kewarganegaraan, ia tidak boleh dibuat seketika dan tidak mempunyai sebarang kitaran hayat atau kaedah. Mencipta komponen berfungsi juga semudah menambah pengisytiharan berfungsi pada templat anda. Ia biasanya sesuai untuk komponen yang hanya bergantung pada perubahan data luaran dan meningkatkan prestasi pemaparan kerana ringan. Semua yang diperlukan oleh komponen dihantar melalui parameter konteks. Ia adalah objek konteks, lihat dokumentasi untuk sifat tertentu. props di sini ialah objek yang mengandungi semua sifat terikat.

<template functional>
    <div class="list">
        <div class="item" v-for="item in props.list" :key="item.id" @click="props.itemClick(item)">
            <p>{{item.title}}</p>
            <p>{{item.content}}</p>
        </div>
    </div>
</template>
Salin selepas log masuk

Kegunaan komponen induk

<template>
    <div>
        <List :list="list" :itemClick="item => (currentItem = item)" />
    </div>
</template>
Salin selepas log masuk
import List from  @/components/List.vue
export default {
    components: {
        List
    },
    data() {
        return {
            list: [{
                title:  title ,
                content:  content
            }],
            currentItem:
        }
    }
}
Salin selepas log masuk

3. Skop gaya

Diubah suai semasa pembangunan Ketiga -gaya komponen parti adalah sangat biasa, tetapi disebabkan pengasingan gaya atribut berskop, anda mungkin perlu mengalih keluar skop atau mencipta gaya baharu. Amalan ini mempunyai kesan sampingan (pencemaran gaya komponen, kekurangan keanggunan) dan dilaksanakan menggunakan penembusan gaya dalam prapemproses CSS. Kami boleh menggunakan>>> atau /deep/ untuk menyelesaikan masalah ini:

<style scoped>
Outer layer >>> .el-checkbox {
  display: block;
  font-size: 26px;

  .el-checkbox__label {
    font-size: 16px;
  }
}
</style>
Salin selepas log masuk
<style scoped>
/deep/ .el-checkbox {
  display: block;
  font-size: 26px;

  .el-checkbox__label {
    font-size: 16px;
  }
}
</style>
Salin selepas log masuk

Penggunaan lanjutan jam tangan

jam tangan dicetuskan apabila sifat pendengar berubah Kadangkala kita mahu jam tangan dilaksanakan serta-merta selepas komponen dibuat. Satu cara yang mungkin terlintas di fikiran ialah memanggilnya sekali semasa kitaran hayat penciptaan, tetapi itu bukan cara yang elegan untuk menulisnya, jadi mungkin kita boleh menggunakan sesuatu seperti ini.

export default {
    data() {
        return {
            name:  Joe
        }
    },
    watch: {
        name: {
            handler:  sayName ,
            immediate: true
        }
    },
    methods: {
        sayName() {
            console.log(this.name)
        }
    }
}
Salin selepas log masuk

Deep Listening

Apabila mendengar objek, jam tangan tidak akan dicetuskan apabila sifat di dalam objek berubah, jadi kita boleh menyediakan pemantauan mendalam untuknya.

export default {
    data: {
        studen: {
            name:  Joe ,
            skill: {
                run: {
                    speed:  fast
                }
            }
        }
    },
    watch: {
        studen: {
            handler:  sayName ,
            deep: true
        }
    },
    methods: {
        sayName() {
            console.log(this.studen)
        }
    }
}
Salin selepas log masuk

Cetuskan pendengar untuk melaksanakan berbilang kaedah

Menggunakan tatasusunan, anda boleh menetapkan berbilang bentuk, termasuk rentetan, fungsi, objek.

export default {
    data: {
        name:  Joe
    },
    watch: {
        name: [
             sayName1 ,
            function(newVal, oldVal) {
                this.sayName2()
            },
            {
                handler:  sayName3 ,
                immaediate: true
            }
        ]
    },
    methods: {
        sayName1() {
            console.log( sayName1==> , this.name)
        },
        sayName2() {
            console.log( sayName2==> , this.name)
        },
        sayName3() {
            console.log( sayName3==> , this.name)
        }
    }
}
Salin selepas log masuk

5 jam tangan memantau berbilang pembolehubah

jam tangan itu sendiri tidak boleh memantau berbilang pembolehubah. Walau bagaimanapun, kita boleh "mendengar pelbagai pembolehubah" dengan mengembalikan objek dengan sifat yang dikira dan kemudian mendengar objek itu.

export default {
    data() {
        return {
            msg1:  apple ,
            msg2:  banana
        }
    },
    compouted: {
        msgObj() {
            const { msg1, msg2 } = this
            return {
                msg1,
                msg2
            }
        }
    },
    watch: {
        msgObj: {
            handler(newVal, oldVal) {
                if (newVal.msg1 != oldVal.msg1) {
                    console.log( msg1 is change )
                }
                if (newVal.msg2 != oldVal.msg2) {
                    console.log( msg2 is change )
                }
            },
            deep: true
        }
    }
}
Salin selepas log masuk

6 Parameter acara $event

$event ialah pembolehubah khas objek acara, yang dalam beberapa senario ialah Kami. menyediakan lebih banyak parameter yang tersedia untuk melaksanakan fungsi yang kompleks. Peristiwa Asli: Berkelakuan sama seperti objek acara lalai dalam Peristiwa Asli.

<template>
    <div>
        <input type="text" @input="inputHandler( hello , $event)" />
    </div>
</template>
Salin selepas log masuk
export default {
    methods: {
        inputHandler(msg, e) {
            console.log(e.target.value)
        }
    }
}
Salin selepas log masuk

Acara tersuai: Diwakili dalam acara tersuai sebagai menangkap nilai yang dilemparkan daripada komponen anak.

export default {
    methods: {
        customEvent() {
            this.$emit( custom-event ,  some value )
        }
    }
}
Salin selepas log masuk
<template>
    <div>
        <my-item v-for="(item, index) in list" @custom-event="customEvent(index, $event)">
            </my-list>
    </div>
</template>
Salin selepas log masuk
export default {
    methods: {
        customEvent(index, e) {
            console.log(e) //  some value
        }
    }
}
Salin selepas log masuk

7 Pendengar acara terprogram

Contohnya, tentukan pemasa apabila halaman dipasang. pemasa perlu dikosongkan apabila halaman dimusnahkan. Ini nampaknya tidak menjadi masalah. Tetapi melihat lebih dekat, satu-satunya tujuan this.timer adalah untuk mendapatkan nombor pemasa sebelumDestroy, jika tidak, ia tidak berguna.

export default {
    mounted() {
        this.timer = setInterval(() => {
            console.log(Date.now())
        }, 1000)
    },
    beforeDestroy() {
        clearInterval(this.timer)
    }
}
Salin selepas log masuk

Sebaik-baiknya hanya mengakses cangkuk kitaran hayat jika boleh. Ini bukan masalah serius tetapi boleh dianggap mengelirukan. Kami boleh menyelesaikan masalah ini dengan menggunakan atau sekali untuk mendengar kemusnahan kitaran hayat halaman:

export default {
    mounted() {
        this.creatInterval( hello )
        this.creatInterval( world )
    },
    creatInterval(msg) {
        let timer = setInterval(() => {
            console.log(msg)
        }, 1000)
        this.$once( hook:beforeDestroy , function() {
            clearInterval(timer)
        })
    }
}
Salin selepas log masuk

使用这种方法,即使我们同时创建多个定时器,也不影响效果。这是因为它们将在页面被销毁后以编程方式自动清除。8.监听组件生命周期通常我们使用 $emit 监听组件生命周期,父组件接收事件进行通知。

子组件

export default {
    mounted() {
        this.$emit( listenMounted )
    }
}
Salin selepas log masuk

父组件

<template>
    <div>
        <List @listenMounted="listenMounted" />
    </div>
</template>
Salin selepas log masuk

其实有一种简单的方法就是使用@hook 来监听组件的生命周期,而不需要在组件内部做任何改动。同样,创建、更新等也可以使用这个方法。

<template>
    <List @hook:mounted="listenMounted" />
</template>
Salin selepas log masuk

(学习视频分享:vuejs入门教程编程基础视频

Atas ialah kandungan terperinci [Organisasi dan Perkongsian] 8 Petua Pembangunan Vue Praktikal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara merujuk fail js dengan vue.js Cara merujuk fail js dengan vue.js Apr 07, 2025 pm 11:27 PM

Terdapat tiga cara untuk merujuk kepada fail JS dalam vue.js: Secara langsung tentukan jalan menggunakan & lt; skrip & gt; tag ;; import dinamik menggunakan cangkuk kitaran hayat yang dipasang (); dan mengimport melalui Perpustakaan Pengurusan Negeri VUEX.

Cara Menggunakan Watch di Vue Cara Menggunakan Watch di Vue Apr 07, 2025 pm 11:36 PM

Pilihan Watch di Vue.js membolehkan pemaju mendengar perubahan dalam data tertentu. Apabila data berubah, tontonkan mencetuskan fungsi panggil balik untuk melakukan paparan kemas kini atau tugas lain. Pilihan konfigurasinya termasuk segera, yang menentukan sama ada untuk melaksanakan panggilan balik dengan serta -merta, dan mendalam, yang menentukan sama ada untuk mendengarkan secara rekursif terhadap objek atau tatasusunan.

Cara menambah fungsi ke butang untuk vue Cara menambah fungsi ke butang untuk vue Apr 08, 2025 am 08:51 AM

Anda boleh menambah fungsi ke butang VUE dengan mengikat butang dalam templat HTML ke kaedah. Tentukan kaedah dan tulis logik fungsi dalam contoh Vue.

Cara menggunakan bootstrap di vue Cara menggunakan bootstrap di vue Apr 07, 2025 pm 11:33 PM

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Cara kembali ke halaman sebelumnya oleh Vue Cara kembali ke halaman sebelumnya oleh Vue Apr 07, 2025 pm 11:30 PM

Vue.js mempunyai empat kaedah untuk kembali ke halaman sebelumnya: $ router.go (-1) $ router.back () menggunakan & lt; router-link to = & quot;/& quot; Komponen Window.History.Back (), dan pemilihan kaedah bergantung pada tempat kejadian.

Vue menyedari kesan menatal marquee/teks Vue menyedari kesan menatal marquee/teks Apr 07, 2025 pm 10:51 PM

Melaksanakan kesan menatal marquee/teks di VUE, menggunakan animasi CSS atau perpustakaan pihak ketiga. Artikel ini memperkenalkan cara menggunakan animasi CSS: Buat teks tatal dan bungkus teks dengan & lt; div & gt;. Tentukan animasi CSS dan tetapkan limpahan: tersembunyi, lebar, dan animasi. Tentukan frasa key, set Transform: TranslateX () pada permulaan dan akhir animasi. Laraskan sifat animasi seperti tempoh, kelajuan tatal, dan arah.

Apa maksudnya untuk memuatkan vue malas? Apa maksudnya untuk memuatkan vue malas? Apr 07, 2025 pm 11:54 PM

Dalam vue.js, pemuatan malas membolehkan komponen atau sumber dimuatkan secara dinamik seperti yang diperlukan, mengurangkan masa pemuatan halaman awal dan meningkatkan prestasi. Kaedah pelaksanaan khusus termasuk menggunakan & lt; menyimpan-Alive & gt; dan & lt; komponen adalah & gt; komponen. Harus diingat bahawa pemuatan malas boleh menyebabkan masalah fouc (skrin percikan) dan harus digunakan hanya untuk komponen yang memerlukan pemuatan malas untuk mengelakkan overhead prestasi yang tidak perlu.

Cara Menanyakan Versi Vue Cara Menanyakan Versi Vue Apr 07, 2025 pm 11:24 PM

Anda boleh menanyakan versi VUE dengan menggunakan Vue Devtools untuk melihat tab VUE dalam konsol penyemak imbas. Gunakan NPM untuk menjalankan arahan "NPM LIST -G VUE". Cari item VUE dalam objek "Dependencies" fail Package.json. Untuk projek Vue CLI, jalankan perintah "Vue -version". Semak maklumat versi di & lt; skrip & gt; Tag dalam fail HTML yang merujuk kepada fail VUE.

See all articles