Pengenalan terperinci tentang cara menggunakan fungsi penangkapan selang masa dalam Vue

PHPz
Lepaskan: 2023-04-13 11:21:38
asal
744 orang telah melayarinya

Dengan pembangunan berterusan teknologi Internet, teknologi bahagian hadapan berubah setiap hari, dan pelbagai rangka kerja pembangunan telah muncul. Antaranya, Vue, sebagai pendatang baharu dalam bidang pembangunan bahagian hadapan, telah mendapat sokongan majoriti pembangun kerana ciri-cirinya yang ringan dan mudah digunakan.

Dalam Vue, terdapat fungsi yang sangat praktikal - penangkapan selang masa, yang boleh menjadikan kod kami lebih cekap dan elegan. Artikel ini akan memperkenalkan secara terperinci cara menggunakan fungsi penangkapan selang masa dalam Vue.

1. Pemasa Vue

Pemasa dalam Vue ialah alat yang sangat praktikal yang membolehkan kami melakukan operasi tertentu dalam selang masa tertentu. Dalam Vue, pemasa dilaksanakan melalui dua fungsi: setTimeout dan setInterval.

  1. fungsi setTimeout

Fungsi setTimeout merujuk kepada melaksanakan sekeping kod selepas masa yang ditentukan. Sintaks asas adalah seperti berikut:

setTimeout(function() {

//执行要延迟执行的代码

}, 延迟时间);
Salin selepas log masuk

Antaranya, masa tunda adalah dalam milisaat, menunjukkan berapa milisaat selepas itu kod yang akan ditangguhkan dilaksanakan.

Sebagai contoh, jika kita ingin mengeluarkan "Hello World" selepas 1 saat, kita boleh menulisnya seperti ini:

setTimeout(function() {

console.log("Hello World");

}, 1000);
Salin selepas log masuk
  1. fungsi setInterval

Fungsi setInterval ialah Merujuk kepada melaksanakan sekeping kod setiap masa tertentu. Sintaks asas adalah seperti berikut:

setInterval(function() {

//执行要周期执行的代码

}, 周期时间);
Salin selepas log masuk

Antaranya, masa kitaran adalah dalam milisaat, menunjukkan berapa milisaat kod yang akan dilaksanakan secara berkala dilaksanakan.

Contohnya, jika kita ingin mengeluarkan "Hello World" setiap 1 saat, kita boleh menulisnya seperti ini:

setInterval(function() {

console.log("Hello World");

}, 1000);
Salin selepas log masuk

Fungsi penangkapan selang masa Vue

Vue Fungsi penangkapan selang masa sangat praktikal dalam pembangunan sebenar Ia boleh melakukan operasi tertentu dalam masa tertentu Contohnya, selepas pengguna melengkapkan input, menangguhkan untuk tempoh masa sebelum meminta antara muka boleh mengurangkan beban dengan berkesan. pada pelayan dan meningkatkan prestasi aplikasi. Mari kita lihat cara menggunakan fungsi penangkapan selang masa dalam Vue.

Dalam Vue, fungsi penangkapan selang masa boleh dilaksanakan menggunakan mekanisme pemerhatian kedalaman jam tangan yang disediakan oleh Vue. Apabila kita ingin mendengar sesuatu harta, Vue akan mencetuskan fungsi panggil balik secara automatik apabila nilai harta itu berubah.

  1. Sintaks asas penangkapan selang masa

Sintaks asas tangkapan selang masa adalah seperti berikut:

watch: {

属性名: {

handler: function (val) {

setTimeout(function() {

console.log('值已经改变了,新值为:' + val);

}, 延迟时间);

},

deep: true,

},
Salin selepas log masuk

Di mana, bila-bila masa nilai nama atribut berlaku Apabila menukar, fungsi akan dipanggil secara automatik dan kod yang kami takrifkan akan dilaksanakan selepas masa tunda yang ditentukan.

Atribut dalam menunjukkan kedalaman hierarki atribut yang akan diperhatikan Jika ditetapkan kepada benar, semua subsifat atribut akan dipantau Jika ditetapkan kepada palsu, hanya subsifat langsung atribut tersebut akan dipantau. Jika atribut dalam tidak ditetapkan, ia lalai kepada palsu.

Sebagai contoh, jika kita ingin memantau perubahan nama dan mengeluarkan "Nama anda telah berubah" 1 saat selepas nama bertukar, kita boleh menulis seperti ini:

watch: {

name: {

handler: function (val) {

setTimeout(function() {

console.log('您的名字已经改变');

}, 1000);

},

deep: true,

},

}
Salin selepas log masuk
  1. Lengah Contoh aplikasi bergambar

Berikut adalah contoh aplikasi praktikal Selepas kami selesai menaip dalam kotak carian, kami menangguhkan selama 1 saat sebelum meminta antara muka untuk mendapatkan hasil carian adalah seperti berikut :

<template>

<div>

<input type="text" v-model="searchText" @input="handleInput">

<div v-if="searchResults.length > 0">

<ul>

<li v-for="item in searchResults">{{ item }}</li>

</ul>

</div>

</div>

</template>

<script>

export default {

data() {

return {

searchText: '',

searchResults: [],

}

},

watch: {

searchText: {

handler: function (val) {

setTimeout(() => {

this.search();

}, 1000);

},

deep: true,

},

},

methods: {

search() {

//在此处发去请求获取搜索结果

this.searchResults = ['搜索结果1', '搜索结果2'];

},

handleInput() {

this.searchResults = [];

},

},

}

</script>
Salin selepas log masuk

Dalam kod di atas, kami menghantar permintaan dalam kaedah carian, memperoleh hasil carian dan memaparkan hasil pada halaman. Apabila nilai dalam kotak input pengguna berubah, carian ditangguhkan selama 1 saat untuk mengurangkan beban pada pelayan.

3. Ringkasan

Fungsi penangkapan selang masa dalam Vue boleh membantu kami melaksanakan kod dalam selang masa tertentu dalam pembangunan sebenar, dengan itu meningkatkan prestasi aplikasi dan kebolehselenggaraan kod. Pelaksanaan penangkapan selang masa perlu dilaksanakan melalui mekanisme pemerhatian kedalaman jam tangan Vue, dan masa tunda yang sesuai dan fungsi panggil balik boleh ditetapkan. Semasa proses pembangunan, kami boleh menggunakannya secara fleksibel mengikut keperluan sebenar, menjadikan kod kami lebih cekap dan elegan.

Atas ialah kandungan terperinci Pengenalan terperinci tentang cara menggunakan fungsi penangkapan selang masa dalam Vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!