Sencha Touch 2:使用JSON数据填充树存储

时间:2014-05-10 17:36:43

标签: javascript json extjs sencha-touch sencha-touch-2

我有一个绑定到树存储的嵌套视图。

如果我在商店中使用静态数据,则会使用此数据填充视图。

但是,如果我尝试通过ajax代理(JSON)加载商店,我可以看到商店已获得数据,但视图不会填充此数据!

我已经被困在这几天了。帮助!

树店

Ext.define('MyApp.store.CategoriesNested', {
    extend: 'Ext.data.TreeStore',

    config: {
        model: 'MyApp.model.CategoriesNested',
        defaultRootProperty: 'data',
        autoLoad: true,
        autoSync: true,
        data:[{
        "category_id": 1,
        "text": 'Clothing',
        "data":[{
            "category_id": 11,
            "text": 'Tops and Tees',
            "leaf":true,
        }]
    }, {
        "category_id": 2,
        "text": 'Footwear',
        "data":[{
            "category_id": 22,
            "text": 'Casual Shoes',
            "leaf":true,
        },{
            "category_id": 23,
            "text": 'Sports Shirts',
            "leaf":true,
        }]
    }],
}
});

以上工作正常。但是,如果我尝试从JSON加载,则会填充商店(使用chrome Web检查器检查商店)。但是观点并没有反映这一点!

Ext.define('MyApp.store.CategoriesNested', {
        extend: 'Ext.data.TreeStore',

        config: {
            model: 'MyApp.model.CategoriesNested',
            autoLoad: true,
            autoSync: true,
        proxy:{
            type: 'ajax',
            url:'categories.json',
            reader:{
                type: 'json',
                rootProperty: 'data'
            }
        }
}
});

categories.json

{          
    "data": [{
        "category_id": 1,
        "text": 'Clothing',
        "data":[{
            "category_id": 11,
            "text": 'Tops and Tees',
            "leaf":true,
        }]
    }, {
        "category_id": 2,
        "text": 'Footwear',
        "data":[{
            "category_id": 22,
            "text": 'Casual Shoes',
            "leaf":true,
        },{
            "category_id": 23,
            "text": 'Sports Shirts',
            "leaf":true,
        }]
    }]  

}

我做错了什么?

修改

好的,我意识到如果直接在视口上设置了这个嵌套列表,那么它会显示数据。

但是,目前的结构是这样的:

视口>标签面板>导航视图>面板>嵌套列表

同样,当我在商店中对数据进行硬编码时,嵌套列表会显示数据。但是当我从JSON读取时,它没有显示数据。但是,如果我尝试直接在视口上设置视图,则会显示数据!

为什么会这样?

1 个答案:

答案 0 :(得分:1)

好的解决了。我应用了配置 布局:' fit' 对于父面板。这很有用。