Professional Documents
Culture Documents
Cтворення моделей
Валідація моделей
Cтворення моделей.
Валідація моделей.
Ext.define('Manager', {
extend: 'Ext.data.Model',
fields: [{
name: 'FirstName',
type: 'string'
}, {
name: 'LastName',
type: 'string'
}]
});
var company = Ext.create('Company', {
Title: 'Microsoft',
Date: '01-01-1974',
Value: 30000
});
company.founders().add({
FirstName: 'Bill',
LastName: 'Gates'
}, {
FirstName: 'Paul',
LastName: 'Allen'
});
company.founders().each(function (founder){
alert(founder.get('FirstName') + " "+founder.get('LastName'));
});
Тепер розберемо код. Спочатку ми створюємо дві моделі Company і
Manager і додаємо до них визначення полів. На відміну від тих визначень
моделей, з якими ми мали справу в минулих параграфах, в даному випадку в
модель company додається визначення асоціації з іншими моделями. При
цьому зверніть увагу, модель, яка використовується в асоціації ще не
визначена!
Ext.define('Manager', {
extend: 'Ext.data.Model',
fields: [{
name: 'FirstName',
type: 'string'
}, {
name: 'LastName',
type: 'string'
}],
belongsTo: 'Company'
});
var manager = Ext.create('Manager', {
FirstName: 'Bill',
LastName: 'Gates'
});
var company = Ext.create('Company', {
Title: 'Microsoft',
Date: '01-01-1974',
Value: 30000
});
manager.setCompany(company);
manager.getCompany(function(company, operation){
alert(company.get('Title'));
});
Ext.define('Manager', {
extend: 'Ext.data.Model',
fields: [{
name: 'FirstName',
type: 'string'
}, {
name: 'LastName',
type: 'string'
}]
});
var manager = Ext.create('Manager', {
FirstName: 'Bill',
LastName: 'Gates'
});
var company = Ext.create('Company', {
Title: 'Microsoft',
Date: '01-01-1974',
Value: 30000
});
company.setManager(manager);
company.getManager(function(manager, operation){
alert(manager.get('LastName'));
});
Для того, щоб дані можна було завантажити з сервера, при створенні
сховища необхідно вказати налаштування proxy-об’єкта:
var store = Ext.create('Ext.data.Store', {
model: 'Stock', //Вказуємо, яка структура даних (модель)
autoLoad: true, //Автоматично завантажувати дані
proxy: { //вказуємо, звідки і в якому форматі працювати з даними
type: 'ajax', //Технологія передачі даних
url : 'stocks.php', //Адреса файлу з даними
reader: { //Налаштування для читання даних
type: 'json', // Формат даних
root: 'data', // Під якою назвою в формтаі json зберігаються рядки з
даними
messageProperty: 'message' // Під якою назвою в формтаі json
зберігається повідомлення з сервера
totalProperty: 'total' // Під якою назвою в формтаі json зберігається
кількість рядків з сервера
}
}
});
Запитання