cari
Rumahhujung hadapan webSoal Jawab bahagian hadapanBilakah saya boleh menggunakan arahan tersuai dalam Vue?

Logik menggunakan arahan tersuai adalah sama seperti logik menggunakan pengubah peristiwa Apabila terdapat logik yang berkaitan dengan pengendalian DOM/BOM dalam kaedah, ia perlu disarikan ke dalam arahan tersuai untuk memudahkan logik Perniagaan. diasingkan daripada operasi DOM yang berkaitan dan menjadikannya lebih mudah untuk ujian unit.

Bilakah saya boleh menggunakan arahan tersuai dalam Vue?

Persekitaran pengendalian tutorial ini: sistem Windows 7, vue versi 2.9.6, komputer DELL G3.

1. Cara membuat arahan tersuai

Buat arahan secara global melalui Vue.directive, parameter pertama Vue. arahan Nama arahan ditakrifkan Kod berikut mencipta arahan bernama ubah saiz.

Vue.directive("resize", {

});

Selepas mendaftarkan arahan ini secara global, ini bermakna arahan ini boleh digunakan dalam mana-mana komponen Anda boleh menggunakan arahan secara langsung dalam templat komponen satu fail, atau dalam JSX Gunakan arahan. Mengikut konvensyen, nama arahan diawali dengan "v-", yang digunakan untuk menunjukkan bahawa ia adalah awalan.

Bilakah saya boleh menggunakan arahan tersuai dalam Vue?

2 Bila hendak menggunakan arahan tersuai

Mengenai masa untuk menggunakan arahan tersuai, logiknya adalah sama seperti menggunakan pengubahsuai acara.

Penggunaan pengubah suai acara sebahagian besarnya untuk menjadikan kod kami dipacu data dan mudah untuk diuji Logik DOM diwakilkan secara berasingan dan dipersetujui kepada beberapa pengubahsuai tertentu. (Nota berkaitan pengubah suai acara: https://www.cnblogs.com/xiaoxuStudy/p/13233379.html#oneone)

Malah, logik yang sama digunakan pada arahan tersuai. Apabila terdapat logik yang berkaitan dengan pengendalian DOM/BOM dalam kaedah kami, kami harus mempertimbangkan sama ada ia boleh disarikan ke dalam arahan tersuai untuk memisahkan logik perniagaan daripada operasi DOM yang berkaitan dan menjadikannya lebih mudah untuk diuji unit.

3 Fungsi cangkuk

Vue mengikut corak reka bentuk di sini Pembukaan dan prinsip penutup membolehkan pembangun mengendalikan komponen pada masa yang berbeza melalui fungsi cangkuk yang dipersetujui. (Fungsi cangkuk laman web rasmi Vue berkaitan: https://cn.vuejs.org/v2/guide/custom-directive.html#fungsi Cangkuk)

1

Vue.directive("resize", {
  //只调用一次,指令第一次绑定元素时调用
  //在这里可以进行一次性的初始化设置
  bind: function(el, binding, value){},
  //被绑定元素插入父节点时调用
  //(仅保证父节点存在,但不一定已被插入文档中)
  inserted: function(el, binding, vnode){},
  //所在组件的 Vnode 更新时调用
  //但是可能发生在其子 VNode 更新之前
  //指令的值可能发生了变化,也可能没有
  //但是可以通过比较更新前后的值来忽略不必要的模板更新
  update: function(el, binding, vnode, oldVnode){},
  //指令所在的 VNode 及其子 VNode 全部更新后调用
  componentUpdated: function(el, binding, vnode, oldVnode){},
  //只调用一次,指令与元素解绑时调用
  unbind: function(el, binding, vnode){},
});

Contoh fungsi cangkuk

Mari kita lihat pada pasangan pertama fungsi cangkuk, fungsi mengikat dan melepaskan Sebagai nama mencadangkan, kedua-dua ini Fungsi cangkuk dipanggil apabila elemen yang diisytiharkan oleh arahan semasa terikat dan tidak terikat, dan harus diingat bahawa kedua-dua mengikat dan melepaskan hanya akan dipanggil sekali .

Bilakah saya boleh menggunakan arahan tersuai dalam Vue?

Seterusnya mari kita lihat fungsi cangkuk yang dimasukkan. Biasanya, dimasukkan dipanggil selepas mengikat.

Perbezaan antara bind dan inserted ialah: parameter el.parentNode in bind adalah batal, dan dalam inserted, nod induk nod semasa boleh diakses melalui el.parentNode. Apabila terdapat maklumat yang perlu disimpan pada nod induk dan nod induk perlu diakses, inserted digunakan dengan lebih kerap daripada bind .

Bilakah saya boleh menggunakan arahan tersuai dalam Vue?

Seterusnya mari kita lihat set terakhir kemas kini fungsi cangkuk dan Kemas Kini komponen pasangan fungsi cangkuk ini akan dipanggil sebelum ini dan selepas vnode dikemas kini.

Berbanding dengan fungsi cangkuk lain, kemas kini dan pas komponenKemas kini dalam satu lagi parameter, oldVnode oldVnode mewakili maklumat nod DOM Maya sebelumnya, dan vnod mewakili maklumat nod DOM Maya semasa. Anda boleh menentukan sama ada templat perlu dikemas kini dengan membandingkan perbezaan antara oldVnode dan vnode untuk mengurangkan kemas kini templat yang tidak diperlukan dan dengan itu meningkatkan prestasi komponen ke tahap tertentu.

 Bilakah saya boleh menggunakan arahan tersuai dalam Vue?

2. 钩子函数参数

function(
  // 指令所绑定的元素,可以用来直接操作 DOM
  el,
  // binding 一个对象,包含以下属性
  {
    // 指令名,不包括 -v 前缀
    name,
    // 指令的绑定值,例如:v-my-directive="1+1"中,绑定值为 2
    value,
    // 指令绑定的前一个值
    // 仅在 update 和 componentUpdated 钩子中可用
    oldValue,
    //字符串形式的指令表达式
    //例如 v-my-directive="1+1" 中,表达式为 "1+1"
    expression,
    //例如指令的参数,可选。
    //例如 v-my-directive:foo 中,参数为 "foo"
    arg,
    //一个包含修饰符的对象
    //例如:v-my-directive.foo.bar 中,
    //修饰符对象为 {foo: true, bar: true}
    modifiers
  },
  //Vue 编译生成的虚拟节点
  vnode,
  //上一个虚拟节点,仅在 update 和 componentUpdated 钩子中可用
  oldVnode
)

钩子函数参数

  除了 el 之后,其它参数都应该是只读的,切勿进行修改。如果需要在钩子之间共享数据,建议通过元素的 dataset 来进行。

Bilakah saya boleh menggunakan arahan tersuai dalam Vue?

【相关推荐:《vue.js教程》】

Atas ialah kandungan terperinci Bilakah saya boleh menggunakan arahan tersuai dalam Vue?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
React: Kekuatan perpustakaan JavaScript untuk pembangunan webReact: Kekuatan perpustakaan JavaScript untuk pembangunan webApr 18, 2025 am 12:25 AM

React adalah perpustakaan JavaScript yang dibangunkan oleh Meta untuk membina antara muka pengguna, dengan terasnya menjadi pembangunan komponen dan teknologi DOM maya. 1. Komponen dan Pengurusan Negeri: React menguruskan keadaan melalui komponen (fungsi atau kelas) dan cangkuk (seperti UseState), meningkatkan kebolehgunaan semula kod dan penyelenggaraan. 2. DOM maya dan pengoptimuman prestasi: Melalui DOM maya, bereaksi dengan cekap mengemas kini DOM sebenar untuk meningkatkan prestasi. 3. Kitaran Hidup dan Cangkuk: Cangkuk (seperti Useeffect) membolehkan komponen fungsi menguruskan kitaran hayat dan melakukan operasi kesan sampingan. 4. Contoh Penggunaan: Dari Komponen Helloworld Asas ke Pengurusan Negeri Global Lanjutan (USEContext dan

Ekosistem React: Perpustakaan, Alat, dan Amalan TerbaikEkosistem React: Perpustakaan, Alat, dan Amalan TerbaikApr 18, 2025 am 12:23 AM

Ekosistem React termasuk perpustakaan pengurusan negeri (seperti redux), perpustakaan penghalaan (seperti reactrouter), perpustakaan komponen UI (seperti bahan-UI), alat ujian (seperti jest), dan alat bangunan (seperti webpack). Alat ini bekerjasama untuk membantu pemaju membangun dan mengekalkan aplikasi dengan cekap, meningkatkan kualiti kod dan kecekapan pembangunan.

Pembangunan React dan Frontend: Gambaran keseluruhan yang komprehensifPembangunan React dan Frontend: Gambaran keseluruhan yang komprehensifApr 18, 2025 am 12:23 AM

React adalah perpustakaan JavaScript yang dibangunkan oleh Facebook untuk membina antara muka pengguna. 1. Ia mengamalkan teknologi DOM komponen dan maya untuk meningkatkan kecekapan dan prestasi pembangunan UI. 2. Konsep teras React termasuk komponenisasi, pengurusan negeri (seperti useState dan useeffect) dan prinsip kerja dom maya. 3. 4. Kesilapan umum seperti melupakan untuk menambah atribut utama atau kemas kini status yang salah boleh didebitkan melalui ReactDevTools dan log. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan react.memo, segmentasi kod dan menyimpan kod yang boleh dibaca dan mengekalkan kebolehpercayaan

Kekuatan React dalam HTML: Pembangunan Web ModenKekuatan React dalam HTML: Pembangunan Web ModenApr 18, 2025 am 12:22 AM

Penggunaan React dalam HTML meningkatkan kecekapan dan fleksibiliti pembangunan web melalui komponen dan DOM maya. 1) Idea komponen reaksi memecah UI ke dalam unit yang boleh diguna semula untuk memudahkan pengurusan. 2) Prestasi pengoptimuman DOM maya, meminimumkan operasi DOM melalui algoritma yang berbeza. 3) Sintaks JSX membolehkan penulisan HTML dalam JavaScript untuk meningkatkan kecekapan pembangunan. 4) Gunakan cangkuk UseState untuk menguruskan keadaan dan merealisasikan kemas kini kandungan dinamik. 5) Strategi pengoptimuman termasuk menggunakan react.memo dan usecallback untuk mengurangkan rendering yang tidak perlu.

Memahami Fungsi Utama React: Perspektif FrontendMemahami Fungsi Utama React: Perspektif FrontendApr 18, 2025 am 12:15 AM

Fungsi utama React termasuk pemikiran komponen, pengurusan negeri dan dom maya. 1) Idea komponenisasi membolehkan pemisahan UI menjadi bahagian yang boleh diguna semula untuk meningkatkan kebolehbacaan kod dan kebolehkerjaan. 2) Pengurusan Negeri menguruskan data dinamik melalui negeri dan prop, dan perubahan mencetuskan kemas kini UI. 3) Prestasi Pengoptimuman DOM Maya, kemas kini UI melalui pengiraan operasi minimum Replika DOM dalam ingatan.

Pembangunan Frontend dengan React: Kelebihan dan TeknikPembangunan Frontend dengan React: Kelebihan dan TeknikApr 17, 2025 am 12:25 AM

Kelebihan React adalah fleksibiliti dan kecekapannya, yang dicerminkan dalam: 1) Reka bentuk berasaskan komponen meningkatkan kebolehgunaan semula kod; 2) Teknologi DOM Maya mengoptimumkan prestasi, terutamanya apabila mengendalikan banyak kemas kini data; 3) Ekosistem yang kaya menyediakan sejumlah besar perpustakaan dan alat pihak ketiga. Dengan memahami bagaimana React Works dan menggunakan contoh, anda boleh menguasai konsep terasnya dan amalan terbaik untuk membina antara muka pengguna yang cekap dan boleh dipelihara.

React vs Rangka Kerja Lain: Membandingkan dan Berbeza PilihanReact vs Rangka Kerja Lain: Membandingkan dan Berbeza PilihanApr 17, 2025 am 12:23 AM

React adalah perpustakaan JavaScript untuk membina antara muka pengguna, sesuai untuk aplikasi besar dan kompleks. 1. Inti React adalah komponen dan DOM maya, yang meningkatkan prestasi rendering UI. 2. Berbanding dengan Vue, React lebih fleksibel tetapi mempunyai lengkung pembelajaran yang curam, yang sesuai untuk projek besar. 3. Berbanding dengan sudut, bertindak balas lebih ringan, bergantung kepada ekologi komuniti, dan sesuai untuk projek yang memerlukan fleksibiliti.

Demystifying React in HTML: Bagaimana semuanya berfungsiDemystifying React in HTML: Bagaimana semuanya berfungsiApr 17, 2025 am 12:21 AM

React beroperasi di HTML melalui DOM maya. 1) React menggunakan sintaks JSX untuk menulis struktur seperti HTML. 2) Kemas kini UI Pengurusan Maya DOM, rendering yang cekap melalui algoritma yang berbeza. 3) Gunakan reactDom.render () untuk menjadikan komponen ke DOM sebenar. 4) Pengoptimuman dan amalan terbaik termasuk menggunakan react.memo dan komponen pemisahan untuk meningkatkan prestasi dan penyelenggaraan.

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

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)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

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