2011-09-16 33 views
5

Trong Ext 3.x tôi có thể nhận được một loạt các tên trường với điều này:ExtJS 4,0 cửa hàng - làm thế nào để tìm thấy các lĩnh vực trong cửa hàng (hoặc mô hình)

mystore.fields.keys 

Làm thế nào tôi có thể làm điều này trong 4,0? Tôi thậm chí không thể thấy làm thế nào tôi có thể nhận được các mô hình mà các cửa hàng đang sử dụng (không có 'getModel' phương pháp). Tôi có cần phải tìm một hồ sơ và nhận được các lĩnh vực theo cách đó? Tôi xác định các cửa hàng với:

Ext.define('AM.store.Equipments', { 
    extend: 'Ext.data.Store', 
    model: 'AM.model.Equipment', 

    mycustFunc: function() { 
      var myfields = this.fields.keys (fails!) 

EDIT: ... Nhờ tìm trong firebug hơn nó có vẻ như điều này được những gì tôi muốn:

this.model.prototype.fields.keys 

Trả lời

9

Trong khi có không phải là một phương pháp getModel() cho Lưu trữ chính nó, Proxy giữ Mô hình, vì vậy bạn có thể chỉ cần sử dụng store.getProxy().getModel() để tìm nạp Mô hình và do đó là các trường của Mô hình. Đối với tái tạo một Store, chỉ cần sử dụng mô hình: originalStore.getProxy().getModel().modelName.

+0

Thanks ... tìm trong firebug hơn nó có vẻ như điều này được những gì tôi muốn : this.model.prototype.fields.keys – amackay11

+0

yeah tôi vừa kiểm tra quá, tôi nghĩ rằng nó sẽ đơn giản hơn: P ... họ làm cho nó phức tạp hơn – nscrob

0

tôi thay đổi các lĩnh vực từ cửa hàng của tôi,
giống như rằng:

myStore.model.setFields(fields); 
Các vấn đề liên quan