Model Paparan KO: Literal Objek lwn. Fungsi
Dalam JS Kalah Mati, Model Lihat boleh diisytiharkan menggunakan sama ada literal objek atau fungsi. Walaupun tujuan utama kedua-duanya adalah untuk mentakrifkan sifat boleh diperhatikan dan fungsi yang dikira, perbezaan utama antara keduanya memberi kesan kepada pengkapsulan, fleksibiliti dan organisasi kod.
Tersurat Objek:
var viewModel = { firstname: ko.observable("Bob") };
Tersurat objek adalah mudah dan ringkas untuk Model Paparan yang ringkas tanpa logik kompleks atau fungsi pengiraan. Walau bagaimanapun, mereka:
Fungsi:
var viewModel = function() { this.firstname = ko.observable("Bob"); };
Fungsi menawarkan beberapa kelebihan:
Amalan Terbaik:
Dalam kebanyakan kes, menggunakan fungsi untuk mentakrifkan Model Lihat adalah disyorkan. Ia menyediakan enkapsulasi dan fleksibiliti yang lebih besar, menjadikannya lebih mudah untuk mengurus Model Paparan yang kompleks dan memastikan akses yang betul kepada ini.
Sifat dan Kaedah Peribadi:
Model Paparan Berasaskan Fungsi dayakan mencipta sifat dan kaedah persendirian dalam konteks ini menggunakan corak kendiri:
var ViewModel = function() { var self = this; self.privateProperty = ko.observable(); self.privateMethod = function() {}; };
Fungsi Mengikat:
Sebagai alternatif, penyemak imbas moden dan Kalah Mati JS menyediakan pengikat fungsi untuk mengikat fungsi secara eksplisit kepada konteks tertentu ini:
var ViewModel = function() { this.items = ko.observableArray(); this.removeItem = function(item) { this.items.remove(item); }.bind(this); };
Menggunakan fungsi bind memastikan bahawa ini merujuk kepada contoh Model Lihat walaupun semasa memanggil fungsi dari dalam skop bersarang.
Kesimpulan:
Walaupun kedua-dua literal objek dan fungsi boleh digunakan untuk mentakrifkan Model Paparan Kalah Mati, fungsi secara amnya lebih diutamakan untuk pengkapsulan, fleksibiliti dan pengendalian yang cekap ini dalam fungsi yang dikira.
Atas ialah kandungan terperinci ## Model Paparan Kalah Mati: Literal Objek atau Fungsi – Mana Satu yang Sesuai untuk Anda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!