2011-01-28 6 views
5

Ekstraları javascript görünüm modeliyle kullanmaya çalışıyorum. Bir JsonReader ve ext.data.memoryproxy sınıfı kullanarak yükleme depoları ile başarı elde ettim.Ext.js'de bir bellek proxy'si nasıl yazılır

Ancak, Javascript viewmodel'de değişiklikler yazmak istiyorum. Mağazanın yazar özelliğine bir json yazarı eklemeyi denedim, ancak bu çalışmaz. Bu hatayı alıyorum:

uncaught exception: Ext.data.DataProxy: DataProxy attempted to execute an API-action but found an undefined url/function. Please review your Proxy url/api-configuration.

Benim Kod geçerli:

var service = viewmodel.selectedService.analytes; 

    var serviceResultsStore = new Ext.data.Store({ 
     reader: new Ext.data.JsonReader({ 
      fields: ['Analyte', 'Units', 'Value', 'Rounded', 'PossibleValues'] 

     }), 
     proxy: new Ext.data.MemoryProxy(service), 
      writer: new Ext.data.JsonWriter({ 
        encode: false, 
        writeAllFields:true 
       }) 

bu konuda herhangi bir Yardım büyük takdir!

cevap

1

JsonWriter ve MemoryProxy birlikte iyi çalışmayacaktır. Onlar için amaçlanmamıştır. JsonWriter Dokümanlar
,

DataWriter extension for writing an array or single Ext.data.Record object(s) in preparation for executing a remote CRUD action.

JsonWriterDataWriter uzanır. DataWriter Dokümanlar -

Ext.data.DataWriter facilitates create, update, and destroy actions between an Ext.data.Store and a server-side framework. A Writer enabled Store will automatically manage the Ajax requests to perform CRUD actions on a Store.

Emin değilim bu etrafında üst düzey tasarımı/niyettir ancak bu durumda, belki, mağazadan kayıtları almak onları değiştirmek ve geri mağazasına taahhüt ne? (Tüm CRUD işlemlerini doğrudan mağaza üzerinde yapabilirsiniz)

+0

Ancak, arka uç programcılarımdan sorgu tasarım sorunlarım var. Sunucudan yeterince hızlı cevap alamıyorlardı, bu nedenle çıktı şebekesinde sayfalama, bir (ancak uzun) talep ile tüm alınan verilerden yapılmalıdır. ExtJ'nin böyle bir proforma yönelik herhangi bir çözümü var mı? Ya da Array gibi yerel bellek depolama yapmak için ineed, değil Json ?? – lazycommit

+0

* Yazılabilir bir bellek deposuna sahip olma niyetim, özel özellikleri kullandığı için http://stackoverflow.com/a/5709096/476074 adresinde verilen geçici çözümden kaçınmak olacaktır. – AndreKR