Ext.js - Data
Paket data digunakan untuk memuat dan menyimpan semua data dalam aplikasi.
Paket data memiliki banyak kelas tetapi kelas yang paling penting adalah -
- Model
- Store
- Proxy
Model
Kelas dasar untuk model adalah Ext.data.Model. Ini mewakili entitas dalam aplikasi. Ini mengikat data penyimpanan untuk dilihat. Ini memiliki pemetaan objek data backend ke view dataIndex. Data diambil dengan bantuan toko.
Membuat Model
Untuk membuat model, kita perlu memperluas kelas Ext.data.Model dan kita perlu menentukan bidang, namanya, dan pemetaan.
Ext.define('StudentDataModel', {
extend: 'Ext.data.Model',
fields: [
{name: 'name', mapping : 'name'},
{name: 'age', mapping : 'age'},
{name: 'marks', mapping : 'marks'}
]
});
Di sini, namanya harus sama dengan dataIndex, yang kita deklarasikan dalam tampilan dan pemetaan harus cocok dengan data, baik statis maupun dinamis dari database, yang akan diambil menggunakan store.
Toko
Kelas dasar untuk toko adalah Ext.data.Store. Ini berisi data yang di-cache secara lokal, yang akan ditampilkan dengan bantuan objek model. Store mengambil data menggunakan proxy, yang memiliki jalur yang ditentukan untuk layanan guna mengambil data backend.
Data penyimpanan dapat diambil dengan dua cara - statis atau dinamis.
Penyimpanan statis
Untuk penyimpanan statis, kami akan memiliki semua data yang ada di toko seperti yang ditunjukkan pada kode berikut.
Ext.create('Ext.data.Store', {
model: 'StudentDataModel',
data: [
{ name : "Asha", age : "16", marks : "90" },
{ name : "Vinit", age : "18", marks : "95" },
{ name : "Anand", age : "20", marks : "68" },
{ name : "Niharika", age : "21", marks : "86" },
{ name : "Manali", age : "22", marks : "57" }
];
});
Toko Dinamis
Data dinamis dapat diambil menggunakan proxy. Kita dapat memiliki proxy yang dapat mengambil data dari Ajax, Rest, dan Json.
Proksi
Kelas dasar untuk proxy adalah Ext.data.proxy.Proxy. Proksi digunakan oleh Model dan Toko untuk menangani pemuatan dan penyimpanan data Model.
Ada dua jenis proxy
- Proksi Klien
- Proxy Server
Proksi Klien
Proksi klien mencakup Memori dan Penyimpanan Lokal menggunakan penyimpanan lokal HTML5.
Proxy Server
Proksi server menangani data dari server jauh menggunakan Ajax, data Json, dan layanan Rest.
Defining proxies in the server
Ext.create('Ext.data.Store', {
model: 'StudentDataModel',
proxy : {
type : 'rest',
actionMethods : {
read : 'POST' // Get or Post type based on requirement
},
url : 'restUrlPathOrJsonFilePath', // here we have to include the rest URL path
// which fetches data from database or Json file path where the data is stored
reader: {
type : 'json', // the type of data which is fetched is of JSON type
root : 'data'
},
}
});