Perenderan
Penerangan
adalah berdasarkan vue.js
dan tidak bergantung pada pemalam atau perpustakaan lain yang kekal konsisten dengannya elemen-ui. Pelaksanaan dalaman telah membuat beberapa pelarasan untuk perbezaan mudah alih.
Platform pembinaan semasa dibina menggunakan perancah rasmi uni-app Kerana kebanyakan terminal mudah alih pada masa ini mempunyai dua jenis: h6
dan 微信小程序
, jadi ia sangat sesuai untuk pemilihan teknologi untuk menjalankan satu set. kod pada berbilang terminal.
Idea pelaksanaan
API Teras: Gunakan menyediakan dan menyuntik, sepadan dengan <form></form>
dan <form-item></form-item>
.
Dalam komponen
<form></form>
, pembolehubah (tatasusunan) digunakan secara dalaman untuk menyimpan semua<form-item></form-item>
kejadian, dan pada masa yang sama, data yang akan dipindahkan didedahkan melaluiprovide
; menggunakan<form-item></form-item>
secara dalaman untuk menerima data yang disediakan oleh komponen induk, dan akhirnya menyerahkan sifat dan kaedahnya sendiri kepada komponen induk. Satu-satunya perkara yang perlu dilakukan dalaminject
ialah mendengar data terikat, dan kemudian memanggil pelbagai kaedah pengesahan yang sepadan dengan
<form></form>
supaya sebarang status pengesahan ditulis dalam<form-item></form-item>
termasuk paparan gaya; memandangkan anda boleh mendapatkan data yang terikat oleh komponen induk, untuk beberapa tetapan gaya biasa, anda secara semula jadi boleh menggunakan<form-item></form-item>
untuk mendapatkan nilaicomputed
komponennya sendiri atauprop
dahulu terikat dengan nilai komponen induk komponen sendiri juga boleh memanggilnya.prop
prop
Oleh kerana acara penghantaran tersuai - ,
dan
Perbezaan daripada komponen bentuk elemen-uivue3
telah dialih keluar daripada$on
, jadi di sini kami menggunakan$off
,$emit
dan sebaliknya; perbezaannya ialah mekanisme penghantaran acara ini adalah global dan tidak mengikut keunikan komponen, jadi apabila menambah atau mengalih keluar acara, anda perlu menetapkan nilai unik dalam nama acara di siniuni.$on
komponen Pembolehubah yang terkumpuluni.$off
setiap kali ia dipanggil, dan kemudian menetapkannya sebagai nama acara dan menghantarnya ke dalamuni.$emit
, supaya kepastian<form></form>
dan1
dapat dijamin.<form-item></form-item>
<form></form>
<form-item></form-item>
- draf reka bentuk UI
- pada terminal mudah alih, sebagai contoh, borang yang sama mempunyai dua gaya kotak input yang berbeza; masa, ia tidak menjejaskan gaya lain Penggunaan perpustakaan, kerana pengesahan borang
tidak akan menjejaskan mana-mana elemen dalam slot.
Pilihan data pengesahan borang hanya mengekalkan medan<form-item></form-item>
(lihat di bawah kerana status pengesahan komponen borang dialih keluar, - tetapan acara ini tidak diperlukan ;
digantikan dengan
4
Ambil perhatian bahawa dalam program mini WeChat, parameter yang diluluskan oleh mana-mana komponen akan ditapis untuk meninggalkan jenistrigger
asas, jadipattern
ini digunakan dalam persekitaran program mini Apabila , tambahreg
pada penghujung, perkara yang sama berlaku untukjson
.reg
.toString()
validator
/** 表单规则类型 */ export interface TheFormRulesItem { /** 是否必填项 */ required?: boolean /** 提示字段 */ message?: string /** 指定类型 */ type?: "number" | "array" /** * 自定义的校验规则(正则) * - 考虑到微信一些特殊的抽风机制,在微信小程序中,除`number|string|object|undefined|null`这几个基础类型外,其他类型是会被过滤掉,所以这里在写正则的时候,在末尾加上`.toString()`即可 */ reg?: string // | RegExp } /** 表单规则类型 */ export type TheFormRules = { [key: string]: Array<TheFormRulesItem> };
- Mekanisme pencetus pengesahan borang: Kita semua tahu bahawa mekanisme pencetus adalah untuk memilih masa pencetus dengan menyatakan
- , jadi selepas saya mengeluarkannya di sini, ini bermakna bahawa tiada operasi sedemikian untuk dicetuskan; dan apa yang saya pilih adalah untuk secara aktif memanggil kaedah pengesahan
dan
element-ui
untuk mencetuskan pengesahan masa nyata Apabila pengesahan gagal, simpan yang gagal dalam pembolehubah, dan kemudian menentukurkannya setiap kali data berubah. Selepas pengesahan diluluskan, item pengesahan masa nyata akan dialih keluar dengan cara ini, berbanding dengantrigger
peristiwa mengikat, pengesahan masa nyata akan menjimatkan banyak panggilan kod dan mekanisme berjalan, dan kod boleh menjadi lebih elegan dan diperkemas.validate
非uni-app平台的移植
除了更换标签之外,几乎不用做任何的修改就可以复制粘贴到其他项目中去,唯一要修改的就是自定义事件uni.$on
、uni.$off
和uni.$emit
;这里可以自己实现,又或者用其他库去代替,js
实现自定义事件派发代码如下:
function moduleEvent() { /** * 事件集合对象 * @type {{[key: string]: Array<Function>}} */ const eventInfo = {}; return { /** * 添加事件 * @param {string} name 事件名 * @param {Function} fn 事件执行的函数 */ on(name, fn) { if (!eventInfo.hasOwnProperty(name)) { eventInfo[name] = []; } if (!eventInfo[name].some(item => item === fn)) { eventInfo[name].push(fn); } }, /** * 解绑事件 * @param {string} name 事件名 * @param {Function} fn 事件绑定的函数 */ off(name, fn) { const fns = eventInfo[name]; if (fns && fns.length > 0 && fn) { for (let i = 0; i < fns.length; i++) { const item = fns[i]; if (item === fn) { fns.splice(i, 1); break; } } } else { console.log("[moduleEvent] => 没有要解绑的事件"); } }, /** * 调用事件 * @param {string} name 事件名 * @param {any} params 事件携带参数 */ dispatch(name, params) { const fns = eventInfo[name]; if (fns && fns.length > 0) { for (let i = 0; i < fns.length; i++) { const fn = fns[i]; fn(params); } } else { console.log("[moduleEvent] => 没有要执行的事件"); } }, } }
调用moduleEvent()
之后,用变量调用即可,注意当前变量要作为内存常驻使用。
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan komponen pengesahan borang H5 dalam vue3. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Peranan vue.js dalam pembangunan web adalah bertindak sebagai rangka kerja JavaScript yang progresif yang memudahkan proses pembangunan dan meningkatkan kecekapan. 1) Ia membolehkan pemaju memberi tumpuan kepada logik perniagaan melalui pengikatan data yang responsif dan pembangunan komponen. 2) Prinsip kerja Vue.js bergantung kepada sistem responsif dan DOM maya untuk mengoptimumkan prestasi. 3) Dalam projek sebenar, adalah amalan biasa untuk menggunakan VUEX untuk menguruskan keadaan global dan mengoptimumkan respons data.

Vue.js adalah kerangka JavaScript yang progresif yang dikeluarkan oleh You Yuxi pada tahun 2014 untuk membina antara muka pengguna. Kelebihan terasnya termasuk: 1. Pengikatan data responsif, Paparan Kemas Kini Automatik Perubahan Data; 2. Pembangunan komponen, UI boleh dibahagikan kepada komponen bebas dan boleh diguna semula.

Netflix menggunakan React sebagai kerangka depannya. 1) Model pembangunan komponen React dan ekosistem yang kuat adalah sebab utama mengapa Netflix memilihnya. 2) Melalui komponen, Netflix memisahkan antara muka kompleks ke dalam ketulan yang boleh diurus seperti pemain video, senarai cadangan dan komen pengguna. 3) Kitaran Hayat DOM dan Komponen Maya React mengoptimumkan kecekapan rendering dan pengurusan interaksi pengguna.

Pilihan Netflix dalam teknologi front-end terutamanya memberi tumpuan kepada tiga aspek: pengoptimuman prestasi, skalabilitas dan pengalaman pengguna. 1. Pengoptimuman Prestasi: Netflix memilih React sebagai kerangka utama dan alat yang dibangunkan seperti SpeedCurve dan Boomerang untuk memantau dan mengoptimumkan pengalaman pengguna. 2. Skalabiliti: Mereka mengamalkan seni bina front-end mikro, memisahkan aplikasi ke dalam modul bebas, meningkatkan kecekapan pembangunan dan skalabilitas sistem. 3. Pengalaman Pengguna: Netflix menggunakan perpustakaan komponen bahan-UI untuk terus mengoptimumkan antara muka melalui ujian A/B dan maklum balas pengguna untuk memastikan konsistensi dan estetika.

NetflixusesAcustomFrameworkcalled "gibbon" Builtonreact, notreactorsvuedirectly.1) TeamExperience: chectionBasedOnfamiliarity.2) ProjectOplePlexity: VueforsImplerProjects, ReactForComplexones.3)

Netflix terutamanya menganggap prestasi, skalabiliti, kecekapan pembangunan, ekosistem, hutang teknikal dan kos penyelenggaraan dalam pemilihan rangka kerja. 1. Prestasi dan Skalabiliti: Java dan Springboot dipilih untuk memproses data besar -besaran dan permintaan serentak yang tinggi. 2. Kecekapan Pembangunan dan Ekosistem: Gunakan React untuk meningkatkan kecekapan pembangunan front-end dan menggunakan ekosistemnya yang kaya. 3. Hutang Teknikal dan Penyelenggaraan Kos: Pilih Node.js untuk membina mikroservis untuk mengurangkan kos penyelenggaraan dan hutang teknikal.

Netflix terutamanya menggunakan React sebagai rangka kerja front-end, ditambah dengan VUE untuk fungsi tertentu. 1) Komponen React dan DOM maya meningkatkan prestasi dan kecekapan pembangunan aplikasi Netflix. 2) VUE digunakan dalam alat dalaman dan projek kecil Netflix, dan fleksibiliti dan kemudahan penggunaannya adalah kunci.

Vue.js adalah rangka kerja JavaScript yang progresif yang sesuai untuk membina antara muka pengguna yang kompleks. 1) Konsep terasnya termasuk data responsif, komponen dan DOM maya. 2) Dalam aplikasi praktikal, ia boleh ditunjukkan dengan membina aplikasi todo dan mengintegrasikan vuerouter. 3) Apabila debugging, disyorkan untuk menggunakan Vuedevtools dan Console.log. 4) Pengoptimuman prestasi boleh dicapai melalui V-IF/V-Show, senarai pengoptimuman rendering, pemuatan asynchronous komponen, dll.


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

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

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.

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini