0

ST2 でプロキシの api 属性を使用する方法を知りたい

今のところ、プロキシ構成にこれがあります:

api: {
    create  : App.urls.create_object,
    read    : App.urls.load_object,
    update  : App.urls.update_object,
    destroy : App.urls.destroy_object
}

しかし、それでは使い方がわかりません。たとえば、新しいオブジェクトを作成したい場合、次のパラメーターを使用して Ext.Ajax.request を作成しました。

url: App.urls.create_object,
params: {
    'object': object
},

しかし今、どうすれば api 属性で同じことができますか?

手伝ってくれる ?

4

1 に答える 1

1

次のようなモデルがあるとします。

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: 'ed@sencha.com'});

user.save(); // will POST to the create url

アップデート

var user = Ext.create('User', {name: 'Ed Spencer', email: 'ed@sencha.com'});
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: 'ed@sencha.com'});
user.save({
    success: function(user) {
        user.destroy(); // will DELETE destroy URL
    }
});

これについては、Sencha Docs の Rest プロキシに関する詳細情報があります: 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: 'rob@sencha.com' });

store.sync(); // will batch update all the needed records
于 2012-04-18T21:45:37.827 に答える