2011-01-28 11 views
5

Próbuję użyć programu Extjs z modelem widoku javascript. Odniosłem sukces z ładowaniem sklepów przy użyciu klasy JsonReader i ext.data.memoryproxy.Jak pisać do pamięci w programie Ext.js

Jednak chcę napisać zmiany w moim Javascript viewmodel. Próbowałem dodać jsonwritera do właściwości writer sklepu, ale to nie działa. Otrzymuję ten błąd:

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.

Mój kod to:

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 
       }) 

Każda pomoc w tej sprawie byłoby bardzo mile widziane!

Odpowiedz

1

i MemoryProxy nie będą działać dobrze razem. Nie są przeznaczone.
Z JsonWriter docs,

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

JsonWriter rozciąga DataWriter. Od DataWriter docs -

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.

Nie jestem pewien, co się wysoki poziom design/intencja wokół to jest jednak w tym przypadku, może można uzyskać dokumentację ze sklepu, modyfikować je i zobowiązać je z powrotem do sklepu? (Możesz wykonywać wszystkie operacje CRUD bezpośrednio w sklepie)

+0

Ale mam problemy z projektowaniem zapytań od moich programistów backendu. Nie mogli wystarczająco szybko uzyskać odpowiedzi z serwera, więc paginacja w siatce wyjściowej powinna być dokonywana ze wszystkich podjętych danych przez jedno (ale długie) żądanie. Czy ExtJs ma jakieś rozwiązania dla takich jak prorblem? Lub ineed, aby lokalne przechowywanie pamięci jak Array, a nie Json? – lazycommit

+0

* Moim * zamiarem posiadania magazynu zapisywalnego byłoby uniknięcie obejścia podanego w http://stackoverflow.com/a/5709096/476074, ponieważ używa ono właściwości prywatnych. – AndreKR

Powiązane problemy