cari
Rumahhujung hadapan webView.jsContoh untuk menerangkan cara menggunakan fungsi customRef dalam Vue

Bagaimana untuk menggunakan fungsi customRef dalam Vue? Artikel berikut akan menunjukkan kepada anda cara menggunakan fungsi customRef dalam VueJs saya harap ia akan membantu anda!

Contoh untuk menerangkan cara menggunakan fungsi customRef dalam Vue

ref disediakan secara rasmi oleh Vuecomponsition API, fungsi yang menukar data tidak responsif kepada data responsif Mengenai cara data asas dikumpulkan Dengan responsif

pengguna tidak perlu memberi perhatian, ia adalah bersamaan dengan komputer kulit keras Namun, kadangkala, untuk beberapa keperluan yang kompleks dan khas, kita perlu membina roda sendiri dan melaksanakan struktur dalaman secara manual dan asli.

Semasa melaksanakan fungsi asas, perluasan tambahan juga diperlukan. Kemudian anda perlu menyesuaikan ref pada masa ini Ia bersamaan dengan komputer yang dipasangkan perlu dipasang dan dilaksanakan sendiri.

Daripada membeli terus dari pusat membeli-belah, gunakan beberapa bahagian siap untuk memasang komputer seperti kulit keras, malah ia boleh dikembangkan Apabila menyedari keperluan fungsi yang tersuai dan kompleks, penyesuaian iniref Ia adalah sangat berguna. [Cadangan berkaitan: tutorial video vuejs, pembangunan bahagian hadapan web]

Paparan tertunda contoh

Ingin melaksanakan data dalam input Untuk pengumpulan masa nyata dan paparan masa nyata, anda perlu menggunakan perintah v-model

<template>
    <input type="text" v-model="keyword" />
    <h3 id="keyword">{{keyword}}</h3>
</template>
<script setup>
 import { ref } from "vue";
 let keyword = ref("itclanCoder"); // Vue官方提供的ref函数,返回一个响应式数据
</script>

Kini anda tidak boleh menggunakan fungsi ref yang disediakan secara rasmi, iaitu anda perlu mencipta fungsi ref yang serupa, seperti yang ditunjukkan di bawah

<template>
    <input type="text" v-model="keyword" />
    <h3 id="keyword">{{keyword}}</h3>
</template>
<script setup>
import { customRef } from &#39;vue&#39;;      
// 自定义的一个ref,名为myRef,自定义ref就是一个函数
function myRef(value) {
  // 自定义,自己得写逻辑,customRef必须要传入一个函数,而且函数里面必须要返回一个对象
  return  customRef((track,trigger) => {  // 第一个return 是把自定义的内容返回出去,第二个return 是返回里面的逻辑,返回get,和set
    return {  
        get() {  // 读取数据,这个value是初始化传递过来的数据
            console.log(&#39;get&#39;,`${value}`);
            track(); // 追踪一下数据的改变,通知vue最终value数据的变化,提前和get沟通一下,让value是有作用的
            return value
        },
        set(newValue) { // 设置数据,新的值,修改数据
           value = newValue;
           trigger(); // customRef函数内接收两个参数,一个是track,另一个就是trigger,通知vue去重新解析模板
        }
    }
  });  
}    
let keyword = myRef("itclanCoder"); // 自己定义一个ref
</script>

Menggunakan kaedah di atas, anda boleh mengumpul dan memaparkan data tersuai Jika anda ingin menunggu selama beberapa saat sebelum mencetuskan, anda hanya perlu menambah pemasa untuk set Lain Tidak Berubah

set(newValue) {
    setTimeout(() => {
        value = newValue;
        trigger(); // 通知vue去重新解析模板
    },500)
}

Selesaikan masalah gema berterusan, cetusan palsu dan masalah pemasa sentiasa didayakan

<template>
    <input type="text" v-model="keyword" />
    <h3 id="keyword">{{keyword}}</h3>
</template>
<script setup>
import { customRef } from &#39;vue&#39;;      
// 自定义的一个ref,名为myRef,自定义ref就是一个函数
function myRef(value) {
  let timer;  // 开启一个定时器  
  // 自定义,自己得写逻辑,customRef必须要传入一个函数,而且函数里面必须要返回一个对象
  return  customRef((track,trigger) => {  // 第一个return 是把自定义的内容返回出去,第二个return 是返回里面的逻辑,返回get,和set
    return {  
        get() {  // 读取数据,这个value是初始化传递过来的数据
            console.log(&#39;get&#39;,`${value}`);
            track(); // 追踪一下数据的改变,通知vue最终value数据的变化,提前和get沟通一下,让value是有作用的
            return value
        },
        set(newValue) { // 设置数据,新的值,修改数据
           clearInterval(timer);  // 先清除定时器,在开
           timer = setTimeout(() => {
              value = newValue;
              trigger(); // customRef函数内接收两个参数,一个是track,另一个就是trigger,通知vue去重新解析模板
           },500)
        }
    }
  });  
}    
let keyword = myRef("itclanCoder"); // 自己定义一个ref
</script>

Apa yang lebih sukar untuk memahami tentang inicustomRef ialah ia perlu secara automatik Kembali daripada fungsi ref yang ditakrifkan, dan pada masa yang sama, terima fungsi kilang sebagai parameter Fungsi kilang ini menerima dua fungsi tracktrigger sebagai parameter,

dan

, dan mengembalikan fungsi dengan kaedah get dan set

Secara umumnya, track() dipanggil sebelum nilai pulangan dalam kaedah get() untuk menjejaki perubahan data. dan maklumkan vue tentang perubahan data akhir, manakala fungsi trigger() hendaklah Pada penghujung fungsi set(), panggil pemberitahuan

vue untuk menghuraikan semula templat dan mengemas kini halaman data

Langkah terakhir adalah untuk menyedari berapa lama menunggu, yang akan dipaparkan kemudian Gunakan pemasa untuk mencapai ini, untuk menyelesaikan masalah pencetus palsu yang kerap, penyelesaian konvensional adalah untuk mengosongkan pemasa terlebih dahulu. dan kemudian hidupkan pemasa

Ringkasan

Fungsi ref(customRef()) tersuai adalah perkara yang sangat berguna, jadi untuk pengembangan fungsi ref, saya melaksanakannya secara manual pelaksanaan dalaman agak berbelit-belit, dan saya perlu mengalami dan mempraktikkannya sendiri

(perkongsian video pembelajaran: tutorial pengenalan vuejs, Video Pengaturcaraan Asas)

Atas ialah kandungan terperinci Contoh untuk menerangkan cara menggunakan fungsi customRef dalam Vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:掘金社区. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Frontend Netflix: menyelam mendalam ke dalam timbunan teknologinyaFrontend Netflix: menyelam mendalam ke dalam timbunan teknologinyaMay 08, 2025 am 12:11 AM

Tumpukan teknologi front-end Netflix terutamanya berdasarkan React dan Redux. 1. REACT digunakan untuk membina aplikasi satu halaman berprestasi tinggi, dan meningkatkan kebolehgunaan semula kod dan penyelenggaraan melalui pembangunan komponen. 2. Redux digunakan untuk pengurusan negeri untuk memastikan perubahan keadaan dapat diramalkan dan dapat dikesan. 3. Toolchain termasuk Webpack, Babel, Jest dan Enzyme untuk memastikan kualiti dan prestasi kod. 4. Pengoptimuman prestasi dicapai melalui segmentasi kod, pemuatan malas dan penyampaian sisi pelayan untuk meningkatkan pengalaman pengguna.

Vue.js dan frontend: Membina antara muka pengguna interaktifVue.js dan frontend: Membina antara muka pengguna interaktifMay 06, 2025 am 12:02 AM

Vue.js adalah rangka kerja progresif yang sesuai untuk membina antara muka pengguna yang sangat interaktif. Fungsi terasnya termasuk sistem responsif, pembangunan komponen dan pengurusan penghalaan. 1) Sistem responsif menyedari pemantauan data melalui objek.defineproperty atau proksi, dan secara automatik mengemas kini antara muka. 2) Pembangunan komponen membolehkan antara muka dibahagikan kepada modul yang boleh diguna semula. 3) Vuerouter menyokong aplikasi satu halaman untuk meningkatkan pengalaman pengguna.

Apakah kelemahan Vuejs?Apakah kelemahan Vuejs?May 05, 2025 am 12:06 AM

Kelemahan utama Vue.js termasuk: 1. Ekosistem adalah agak baru, dan perpustakaan dan alat pihak ketiga tidak kaya dengan rangka kerja lain; 2. Kurva pembelajaran menjadi curam dalam fungsi kompleks; 3. Sokongan dan sumber masyarakat tidak begitu luas seperti reaksi dan sudut; 4. Masalah prestasi boleh ditemui dalam aplikasi besar; 5. Peningkatan versi dan cabaran keserasian lebih besar.

Netflix: Melancarkan Rangka Kerja FrontendnyaNetflix: Melancarkan Rangka Kerja FrontendnyaMay 04, 2025 am 12:16 AM

Netflix menggunakan React sebagai kerangka depannya. 1. Pembangunan komponen REACT dan mekanisme DOM maya meningkatkan prestasi dan kecekapan pembangunan. 2. Gunakan Webpack dan Babel untuk mengoptimumkan pembinaan dan penggunaan kod. 3. Gunakan Segmentasi Kod, Rendering Sider Server dan Strategi Caching untuk Pengoptimuman Prestasi.

Pembangunan Frontend dengan Vue.js: Kelebihan dan TeknikPembangunan Frontend dengan Vue.js: Kelebihan dan TeknikMay 03, 2025 am 12:02 AM

Sebab -sebab populariti Vue.js termasuk kesederhanaan dan pembelajaran mudah, fleksibiliti dan prestasi tinggi. 1) Reka bentuk kerangka progresifnya sesuai untuk pemula untuk belajar langkah demi langkah. 2) Pembangunan berasaskan komponen meningkatkan kebolehkerjaan kod dan kecekapan kerjasama pasukan. 3) Sistem responsif dan DOM maya meningkatkan prestasi rendering.

Vue.js vs React: kemudahan penggunaan dan keluk pembelajaranVue.js vs React: kemudahan penggunaan dan keluk pembelajaranMay 02, 2025 am 12:13 AM

Vue.js lebih mudah digunakan dan mempunyai lengkung pembelajaran yang lancar, yang sesuai untuk pemula; React mempunyai lengkung pembelajaran yang lebih curam, tetapi mempunyai fleksibiliti yang kuat, yang sesuai untuk pemaju yang berpengalaman. 1.vue.js mudah dimulakan melalui reka bentuk pengikatan data mudah dan progresif. 2. REACT memerlukan pemahaman tentang DOM dan JSX maya, tetapi memberikan kelebihan fleksibiliti dan prestasi yang lebih tinggi.

Vue.js vs React: Rangka kerja mana yang sesuai untuk anda?Vue.js vs React: Rangka kerja mana yang sesuai untuk anda?May 01, 2025 am 12:21 AM

Vue.js sesuai untuk pembangunan pantas dan projek kecil, sementara React lebih sesuai untuk projek besar dan kompleks. 1.vue.js adalah mudah dan mudah dipelajari, sesuai untuk pembangunan pesat dan projek kecil. 2. REACT adalah kuat dan sesuai untuk projek besar dan kompleks. 3. Ciri -ciri progresif Vue.js sesuai untuk memperkenalkan fungsi secara beransur -ansur. 4. DOM Componented dan Maya React berfungsi dengan baik apabila berurusan dengan aplikasi UI dan intensif data yang kompleks.

Vue.js vs React: Analisis Perbandingan Kerangka JavaScriptVue.js vs React: Analisis Perbandingan Kerangka JavaScriptApr 30, 2025 am 12:10 AM

Vue.js dan bertindak balas masing -masing mempunyai kelebihan dan kekurangan mereka sendiri. Apabila memilih, anda perlu mempertimbangkan secara komprehensif kemahiran pasukan, saiz projek dan keperluan prestasi. 1) Vue.js sesuai untuk pembangunan cepat dan projek kecil, dengan lengkung pembelajaran yang rendah, tetapi objek bersarang yang mendalam dapat menyebabkan masalah prestasi. 2) React sesuai untuk aplikasi besar dan kompleks, dengan ekosistem yang kaya, tetapi kemas kini yang kerap boleh menyebabkan kemunculan prestasi.

See all articles

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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.