假設你有一個這樣的模式:
Ext.define('User', {
fields: ['name', 'email'],
proxy: {
type: 'ajax',
api: {
create: 'my_create_url',
read: 'my_read_url',
update: 'my_update_url',
destroy: 'my_destroy_url'
}
}
});
創建
var user = Ext.create('User', {name: 'Ed Spencer', email: '[email protected]'});
user.save(); // will POST to the create url
更新
var user = Ext.create('User', {name: 'Ed Spencer', email: '[email protected]'});
user.save({
success: function(user) {
user.set('name', 'Robert Dougan');
user.save(); // will PUT update URL
}
});
閱讀
使用商店:
var store = Ext.create('Ext.data.Store', {
model: 'User'
});
store.load(); // will GET to read URL
使用模式:
// will GET the read URL with the specified ID.
User.load(12, {
success: function(user) {
console.log(user);
}
});
破壞
var user = Ext.create('User', {name: 'Ed Spencer', email: '[email protected]'});
user.save({
success: function(user) {
user.destroy(); // will DELETE destroy URL
}
});
有關於這對在煎茶的休息代理的更多信息Google文檔:http://docs.sencha.com/touch/2-0/#!/api/Ext.data.proxy.Rest
同步
您還可以使用店內同步方法來批量創建/更新/銷燬在您的商店中的所有記錄。
var store = Ext.create('Ext.data.Store', {
model: 'User'
});
store.add({ name: 'Robert Dougan', email: '[email protected]' });
store.sync(); // will batch update all the needed records
非常感謝你,它看起來我需要什麼。那麼是否需要在商店中使用sync()方法? – 2012-04-19 08:25:12
@TDeBailleul你可以。我已更新我的帖子以包含'sync'。 – rdougan 2012-04-19 19:28:59