2011-01-28 29 views
5

Tôi đang cố gắng sử dụng Extjs với mô hình chế độ xem javascript. Tôi đã thành công với việc tải các cửa hàng bằng cách sử dụng một JsonReader và lớp ext.data.memoryproxy.Cách ghi vào bộ nhớ trong Ext.js

Tuy nhiên tôi muốn viết các thay đổi cho chế độ xem Javascript của tôi.I đã thử thêm một bộ ghi chú vào thuộc tính người viết của cửa hàng nhưng điều này không hiệu quả. Tôi nhận được lỗi này:

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ã của tôi là:

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

Bất kỳ trợ giúp về vấn đề này sẽ được đánh giá rất nhiều!

Trả lời

1

JsonWriterMemoryProxy sẽ không hoạt động tốt cùng nhau. Họ không có ý định.
Từ JsonWriter docs,

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

JsonWriter kéo dài DataWriter. Từ 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.

Tôi không chắc chắn những gì cấp cao của thiết kế/ý định xung quanh đây là nhưng trong trường hợp này, có thể bạn có thể nhận được hồ sơ từ các cửa hàng, thay đổi chúng và cam kết họ lại đến cửa hàng? (Bạn có thể thực hiện tất cả các hoạt động CRUD trực tiếp trên cửa hàng)

+0

Nhưng tôi có vấn đề về thiết kế truy vấn từ các lập trình viên phụ trợ của tôi. Họ không thể làm cho câu trả lời từ máy chủ đủ nhanh, do đó, phân trang trong lưới đầu ra nên được thực hiện từ tất cả các dữ liệu taked bởi một (nhưng dài) yêu cầu. Có ExtJs có bất kỳ giải pháp cho chẳng hạn như prorblem? Hoặc để làm cho bộ nhớ cục bộ như Array, không phải Json ?? – lazycommit

+0

* Ý định của tôi về việc có một kho lưu trữ bộ nhớ có thể là để tránh giải pháp thay thế được đưa ra trong http://stackoverflow.com/a/5709096/476074 vì nó sử dụng các thuộc tính riêng tư. – AndreKR

Các vấn đề liên quan