Mendapat ralat Tidak boleh membaca sifat undefined (membaca '$refs') walaupun saya mempunyai rujukan dalam templat. Adakah ini bermakna saya perlu menggunakan cangkuk pelekap Vue?
<div class="input-wrapper"> <input type="text" id="phone" placeholder="(555) 555-5555" ref="input"/> </div> <script> this.$refs.input.addEventLis tener('input', function () { // some code }); </script>
Dalam komponen Vue
的根内部,在 Vue 2 和 Vue 3 中,
this
是未定义
:Semak di sini. . p>
Vue Rujukan Templat hanya boleh diakses dalam mana-mana cangkuk atau kaedah yang berlaku selepas komponen dipasang dan sebelum ia dinyahpasang.
Ini bermakna yang terawal anda boleh rujuk
this.$refs
ini.$refs terletak dipasang. Terkini terletak sebelum Nyahlekap . Anda juga boleh mengaksesnya dalam mana-mana cangkuk atau kaedah yang berlaku antara dua detik tersebut.Memandangkan anda cuba menambah pendengar acara pada HTMLInputElement, saya syorkan menggunakan arahan v-on, yang akan menambah pendengar acara secara automatik pada lekap dan mengalih keluarnya apabila dinyahlekap.
Dalam kes anda:
Dengan cara ini, anda harus tahu bahawa
this
ini fungsi biasa tidak mempunyai akses kepada konteks komponen, melainkan ia adalah fungsi anak panah:Dan dalam mana-mana kaedah (contohnya:
ini ialah konteks komponen, yang boleh mengakses semua ahli komponen. 🎜myFn
),this
myFn di atas),