Perbezaan: 1. Komunikasi antara setiap bahagian mvvm adalah dua hala, manakala komunikasi antara setiap bahagian mvc adalah sehala. 2. MVVM merealisasikan penyegerakan automatik antara paparan dan model Iaitu, apabila atribut model berubah, tidak perlu mengendalikan elemen dom secara manual untuk menukar paparan paparan Sebaliknya, selepas menukar atribut, lapisan paparan yang sepadan dengan atribut akan berubah secara automatik.
Persekitaran pengendalian tutorial ini: sistem Windows 7, vue versi 2.9.6, komputer DELL G3.
VUE dibangunkan berdasarkan corak reka bentuk MVVM Hari ini kita akan bercakap tentang perbezaan antara MVC dan MVVM.
MVC:
m:model data model layer v:view view layer c:controller controller
Prinsip: Lapisan c perlu mengawal data lapisan model untuk dipaparkan dalam lapisan paparan
MVC dua kaedah, penerangan gambar:
Contoh kod:
Kami membuat paparan p yang sangat mudah kesan tersembunyi, klik togol untuk menukar Di bawah p tunjukkan sorok
html:
<div id="box"> <button class="btn">toggle</button> <button class="btn2">big</button> <div class="box"> </div> </div>
JS:
Berikut ialah JS yang kami tulis tanpa mod reka bentuk , jenis ini Kaedah penulisan tidak kondusif untuk penyelenggaraan, dan kod ini berorientasikan proses semata-mata:
let btn = document.getElementsByClassName("btn")[0]; let boxDom = document.getElementsByClassName("box")[0]; let flag = true; btn.onclick = function(){ if(flag){ boxDom.style.display = "none"; flag = false; }else{ boxDom.style.display = "block"; flag = true; } }
Kaedah penulisan MVC:
//view let boxDom = document.getElementsByClassName("box")[0]; //model let model = { isShow:true, isBig:false } //controller 业务逻辑 function Controller(){ this.init();//初始化 } Controller.prototype = { constructor:Controller, init:function(){ this.addEvent() }, addEvent:function(){ let btn = document.getElementsByClassName("btn")[0]; let btn2 = document.getElementsByClassName("btn2")[0]; let that = this; btn.onclick = function(){ model.isShow = !model.isShow; //更改视图了 that.render(); } btn2.onclick = function(){ model.isBig = true; //更改视图了 that.render(); } }, render:function(){//数据驱动视图的更改 boxDom.style.display = model.isShow?"block":"none"; boxDom.style.width = model.isBig?"300px":"100px"; } } new Controller();//初始化一下
Walaupun kod MVC agak panjang , ia akan menjadi sangat mudah untuk digunakan pada masa hadapan, selagi ia Hanya gunakan kesan yang sama
Jom bincang tentang MVVM
MVVM:
m:model data model layer v :view view layer vm:ViewModel
vue menggunakan mod mvvm, yang berasal daripada mvc
MVVM membuat hubungan langsung antara pandangan dan model pandangan terutamanya dekat, iaitu untuk menyelesaikan masalah mvc Masalah maklum balas yang tidak tepat pada masanya
Huraikan gambar:
Apabila ia datang kepada MVVM, kita perlu bercakap tentang prinsip pengikatan dua hala dan rampasan data,
1 Apakah prinsip pengikatan dua hala?
(Kemas kini lapisan model apabila paparan berubah, kemas kini lapisan paparan apabila lapisan model berubah)
Vue menggunakan mod rampasan data & penerbitan langganan:
Apabila vue mencipta vm, ia akan mengkonfigurasi data dalam contoh, kemudian menggunakan Object.defineProperty untuk memproses data dan menambah kaedah pengambil dan penetap pada data. Apabila data diperoleh, kaedah getter yang sepadan akan dicetuskan Apabila data ditetapkan, kaedah penetap yang sepadan akan dicetuskan, seterusnya mencetuskan kaedah pemerhati pada vm Kemudian apabila data tersedia, vm akan mengemas kini selanjutnya pandangan.
2. Rampasan data:
vue.js menggunakan rampasan data digabungkan dengan model pelanggan-penerbit untuk merampas setiap harta melalui penetap Object.defineProperty(), pengambil. Terbitkan mesej kepada pelanggan apabila data berubah, mencetuskan panggilan balik mendengar respons.
Contoh kod Object.defineProperty:
//Object.defineProperty 因为使用了ES5的很多特性 let _data = {} let middle = 111; Object.defineProperty(_data,"msg",{ get(){ return middle; }, set(val){ middle = val; } }); console.log(_data.msg);//获取数据的时候,会调用对应对象属性的getter方法 _data.msg = 222;//设置数据的时候,会调用对应对象属性的setter方法 console.log(_data.msg);
Ringkasan:
Perbezaan terbesar antara mvvm dan mvc:
MVVM merealisasikan penyegerakan automatik antara paparan dan model, iaitu apabila atribut model berubah, kita tidak perlu lagi mengendalikan elemen dom secara manual untuk menukar paparan paparan, sebaliknya, selepas menukar atribut lapisan yang sepadan dengan atribut akan berubah secara automatik.
Cadangan berkaitan: "tutorial vue.js"
Atas ialah kandungan terperinci Apakah perbezaan antara mvvm dan mvc dalam vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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 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.

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

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.

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.

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 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.

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.


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

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.

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

Dreamweaver Mac版
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)