0

Sencha Touch 2 の初心者です。プロキシによってストアとモデルを使用して json から値を保存しようとしていますが、間違っているところはありません。

私のモデル

Ext.regModel('Product', {
    fields: [
        {name: 'name',        type: 'string'},
        {name: 'description', type: 'string'},
        {name: 'price',       type: 'float'},
        {name: 'image_url',   type: 'string'},
        {name: 'in_stock',    type: 'boolean'}
    ]

});

私の店

Dzineapp.BlogStore = new Ext.data.Store({
model: 'Product',
autoLoad: false,
proxy: new Ext.data.AjaxProxy({
    type: 'ajax',
    url: 'http://localhost/products.json',
    reader: {
        type: 'json',
        root: 'products'
    },
    writer: {
        encode: true,
        type: 'json'
    }
    })
});

製品.json

{
    "products": [
        {"name": "Some Product",    "price": 9.99, "image_url": "product1.jpg", "in_stock": true},
        {"name": "Another Product", "price": 7.50, "image_url": "product2.jpg", "in_stock": true},
        {"name": "A third product", "price": 2.35, "image_url": "product3.jpg", "in_stock": false}

    ]
}

私の見解

 Dzineapp.blogPanel = new Ext.List({
            id: 'bloglist',
            store: Dzineapp.BlogStore,
            itemTpl: '<div class="contact">{name}</div>'
        });

しかし、私のアプリは値を表示しません。間違いを犯している場所で誰かが私を助けることができます..私は煎茶の初心者です

4

3 に答える 3

1

1) new ... の代わりに Ext.create() を使用する必要があります (しかし、これはとにかく動作するはずです)

2) リスト構成の store 値の前後に ' を追加する必要があります

3) app.js の store[] にストアを追加するか、リストに require を追加することを確認します。

4) firebug/chrome dev ツールを使用して、リクエストが正常に機能していること (HTTP : 200) と、json を取得していることを確認します。

これが役立つことを願っています

于 2012-08-06T16:57:44.040 に答える
0

以下のようにストアを更新できますか

Dzineapp.BlogStore = new Ext.data.Store({
   model: 'Product',
   autoLoad: true,
   proxy: {
     type: 'ajax',
     url: 'http://localhost/products.json',
     reader: {
       type: 'json',
       root: 'products'
     }
   }
});

うまくいくことを願っています。

データを表示するには、ストアをロードする必要があります。

ありがとう、スワティ。

于 2012-04-26T09:04:45.763 に答える
0

使用する代わりにストア構成で

root: 'products'

使ってみて

rootProperty: 'products'
于 2012-09-19T19:05:02.337 に答える