Vue 方法与事件处理的问题
方法与事件处理器
方法处理器
可以用 v-on
指令监听 DOM 事件:
<p id="example"> <button v-on:click="greet">Greet</button> </p>
我们绑定了一个单击事件处理器到一个方法 greet
。下面在 Vue 实例中定义这个方法:
var vm = new Vue({ el: '#example', data: { name: 'Vue.js' }, // 在 `methods` 对象中定义方法 methods: { greet: function (event) { // 方法内 `this` 指向 vm alert('Hello ' + this.name + '!') // `event` 是原生 DOM 事件 alert(event.target.tagName) } } }) // 也可以在 JavaScript 代码中调用方法 vm.greet() // -> 'Hello Vue.js!'
内联语句处理器
除了直接绑定到一个方法,也可以用内联 JavaScript 语句:
<p id="example-2"> <button v-on:click="say('hi')">Say Hi</button> <button v-on:click="say('what')">Say What</button> </p> new Vue({ el: '#example-2', methods: { say: function (msg) { alert(msg) } } }
类似于内联表达式,事件处理器限制为一个语句。
有时也需要在内联语句处理器中访问原生 DOM 事件。可以用特殊变量 $event
把它传入方法:
<button v-on:click="say('hello!', $event)">Submit</button>
// ... methods: { say: function (msg, event) { // 现在我们可以访问原生事件对象 event.preventDefault() } }
事件修饰符
在事件处理器中经常需要调用 event.preventDefault()
或 event.stopPropagation()
。尽管我们在方法内可以轻松做到,不过让方法是纯粹的数据逻辑而不处理 DOM 事件细节会更好。
为了解决这个问题,Vue.js 为 v-on
提供两个 事件修饰符:.prevent
与 .stop
。你是否还记得修饰符是点号打头的指令后缀?
<!-- 阻止单击事件冒泡 --> <a v-on:click.stop="doThis"></a> <!-- 提交事件不再重载页面 --> <form v-on:submit.prevent="onSubmit"></form> <!-- 修饰符可以串联 --> <a v-on:click.stop.prevent="doThat"> <!-- 只有修饰符 --> <form v-on:submit.prevent></form>
1.0.16 添加了两个额外的修饰符:
<!-- 添加事件侦听器时使用 capture 模式 --> <p v-on:click.capture="doThis">...</p> <!-- 只当事件在该元素本身(而不是子元素)触发时触发回调 --> <p v-on:click.self="doThat">...</p>
按键修饰符
在监听键盘事件时,我们经常需要检测 keyCode。Vue.js 允许为 v-on
添加按键修饰符:
<!-- 只有在 keyCode 是 13 时调用 vm.submit() --> <input v-on:keyup.13="submit">
记住所有的 keyCode 比较困难,Vue.js 为最常用的按键提供别名:
<!-- 同上 --> <input v-on:keyup.enter="submit"> <!-- 缩写语法 --> <input @keyup.enter="submit">
enter tab delete esc space up down left right
1.0.8+: 支持单字母按键别名。
1.0.17+: 可以自定义按键别名:
// 可以使用 @keyup.f1 Vue.directive('on').keyCodes.f1 = 112
为什么在 HTML 中监听事件?
你可能注意到这种事件监听的方式违背了传统理念 “separation of concern”。不必担心,因为所有的 Vue.js 事件处理方法和表达式都严格绑定在当前视图的 ViewModel 上,它不会导致任何维护困难。实际上,使用 v-on
有几个好处:
扫一眼 HTML 模板便能轻松定位在 JavaScript 代码里对应的方法。
因为你无须在 JavaScript 里手动绑定事件,你的 ViewModel 代码可以是非常纯粹的逻辑,和 DOM 完全解耦,更易于测试。
当一个 ViewModel 被销毁时,所有的事件处理器都会自动被删除。你无须担心如何自己清理它们。
Atas ialah kandungan terperinci Vue 方法与事件处理的问题. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



1. Mula-mula, kita klik kanan ruang kosong bar tugas dan pilih pilihan [Task Manager], atau klik kanan logo mula, dan kemudian pilih pilihan [Task Manager]. 2. Dalam antara muka Pengurus Tugas yang dibuka, kami klik tab [Perkhidmatan] di hujung kanan. 3. Dalam tab [Perkhidmatan] yang dibuka, klik pilihan [Buka Perkhidmatan] di bawah. 4. Dalam tetingkap [Services] yang terbuka, klik kanan perkhidmatan [InternetConnectionSharing(ICS)], dan kemudian pilih pilihan [Properties]. 5. Dalam tetingkap sifat yang terbuka, tukar [Buka dengan] kepada [Disabled], klik [Apply] dan kemudian klik [OK]. 6. Klik logo mula, kemudian klik butang tutup, pilih [Mulakan Semula], dan selesaikan mula semula komputer.

Dalam proses pembangunan PHP, berurusan dengan aksara khas adalah masalah biasa, terutamanya dalam pemprosesan rentetan, aksara khas sering terlepas. Antaranya, menukar aksara khas kepada petikan tunggal adalah keperluan yang agak biasa, kerana dalam PHP, petikan tunggal adalah cara biasa untuk membungkus rentetan. Dalam artikel ini, kami akan menerangkan cara mengendalikan petikan tunggal penukaran aksara khas dalam PHP dan memberikan contoh kod khusus. Dalam PHP, aksara khas termasuk tetapi tidak terhad kepada petikan tunggal ('), petikan berganda ("), segaris ke belakang (), dsb. Dalam rentetan

Untuk menyelesaikan masalah yang jQuery.val() tidak boleh digunakan, contoh kod khusus diperlukan Untuk pembangun bahagian hadapan, menggunakan jQuery ialah salah satu operasi biasa. Antaranya, menggunakan kaedah .val() untuk mendapatkan atau menetapkan nilai elemen borang adalah operasi yang sangat biasa. Walau bagaimanapun, dalam beberapa kes tertentu, masalah tidak dapat menggunakan kaedah .val() mungkin timbul. Artikel ini akan memperkenalkan beberapa situasi dan penyelesaian biasa, serta memberikan contoh kod khusus. Penerangan Masalah Apabila menggunakan jQuery untuk membangunkan halaman hadapan, kadangkala anda akan menghadapi

Apakah soalan yang terlibat dalam peperiksaan Yulong 8 Wine Master? Apakah jawapan yang sepadan? Bagaimana untuk lulus peperiksaan dengan cepat? Terdapat banyak soalan yang perlu dijawab dalam aktiviti Peperiksaan Sarjana Wain, dan kita boleh merujuk kepada jawapan untuk menyelesaikannya. Soalan-soalan ini semua melibatkan pengetahuan tentang wain. Jika anda memerlukan rujukan, mari kita lihat analisis terperinci tentang jawapan kepada soalan peperiksaan Yakuza 8 Wine Master! Penjelasan terperinci tentang jawapan kepada soalan dalam peperiksaan Rulong 8 Wine Master 1. Soalan mengenai "wain". Ini adalah minuman keras suling yang dihasilkan oleh kilang penyulingan yang ditubuhkan oleh keluarga diraja Ia dibancuh daripada gula tebu yang ditanam dalam kuantiti yang banyak di Hawaii. Apakah nama wain ini? Jawapan: Rum 2. Soalan tentang "arak". Gambar menunjukkan minuman yang diperbuat daripada gin kering dan vermouth kering. Ia dicirikan oleh penambahan buah zaitun dan dikenali sebagai "cockney"

jQuery ialah perpustakaan JavaScript popular yang boleh digunakan untuk memudahkan manipulasi DOM, pengendalian acara, kesan animasi, dll. Dalam pembangunan web, kami sering menghadapi situasi di mana kami perlu menukar pengikatan acara pada elemen terpilih. Artikel ini akan memperkenalkan cara menggunakan jQuery untuk mengikat acara perubahan elemen terpilih, dan memberikan contoh kod khusus. Pertama, kita perlu mencipta menu lungsur dengan pilihan menggunakan label:

Memproses rentetan dalam PHP adalah operasi yang sangat biasa, dan mengalih keluar aksara pertama di sebelah kanan juga merupakan keperluan biasa. Dalam artikel ini, saya akan menunjukkan kepada anda cara untuk membuang aksara pertama di sebelah kanan menggunakan kod PHP. Mula-mula, mari kita lihat contoh mudah fungsi pemprosesan rentetan yang menunjukkan cara mengalih keluar aksara pertama di sebelah kanan:

Ramai pengguna telah cuba mengemas kini sistem win11, tetapi mendapati bahawa menu mula tidak boleh digunakan selepas kemas kini Ini mungkin kerana terdapat masalah dengan kemas kini terkini masalah. Mari kita lihat bersama-sama. Apa yang perlu dilakukan jika menu mula tidak boleh digunakan selepas win11 dipasang Kaedah 1: 1. Mula-mula buka panel kawalan dalam win11. 2. Kemudian klik butang "Nyahpasang program" di bawah program. 3. Masukkan antara muka nyahpasang dan cari "Lihat kemas kini yang dipasang" di sudut kiri atas 4. Selepas memasukkan, anda boleh melihat masa kemas kini dalam maklumat kemas kini dan menyahpasang semua kemas kini terkini. Kaedah 2: 1. Selain itu, kami juga boleh memuat turun terus sistem win11 tanpa kemas kini. 2. Ini adalah produk tanpa yang paling banyak

Petua Pengaturcaraan PHP: Cara Mengendalikan Koma Bertitik Terakhir Dalam pengaturcaraan PHP, anda sering menghadapi situasi di mana anda perlu mengendalikan koma bertitik terakhir. Terutamanya dalam gelung dan pernyataan bersyarat, mudah untuk menyebabkan ralat atur cara dengan menulis kurang satu atau satu koma bertitik lagi. Untuk mengelakkan situasi ini, kita boleh menggunakan beberapa teknik pengaturcaraan untuk mengendalikan situasi titik bertitik terakhir. Berikut ialah beberapa teknik biasa dan contoh kod untuk mengendalikan koma bernoktah terakhir: 1. Gunakan penyataan if untuk menentukan koma bernoktah terakhir
