使用json store加载图像

时间:2012-04-29 06:29:49

标签: json sencha-touch-2 nested-lists

我在itemtap上加载了一个嵌套列表。我需要加载的是文件夹图像,以防它不是叶子节点,而文件图像是叶子节点。

我认为这样做的一种方法是在json数据本身中加载图像。但我不确定如何实现这一点。

截至目前,我的模型仅包含字符串数据。我如何在thr中加载图像数据?

//Defining a data structure for the Nested List
Ext.define('InfoImage.model.nestedListModel', {
    extend: 'Ext.data.Model',

     config:{
    fullscreen:'true',
    title:'Work Items Task 1',
    ui:'normal',
    cls:'nestedlistCls',
    xtype:'nestedList',
    // displayField : 'text',
    store:'nestedListStore'/*,
    getItemTextTpl: function() {
        var tplConstructor = '{text}' +
            '<tpl if="model === \'folder\'">'+
                '<img src="resources/images/refresh.png" >' 
                '</img>' +
            '</tpl>';
        return tplConstructor;
    }*/
   // itemTpl:'<div><img src="resources/images/refresh.png" > </img>{text}</div>'*/


}
});

我的json数据代码是:

{
    "items":[

         {
        "text":"1.1",
        "folder":"resources/images/refresh.png",
        "items":[
            {
                "text":"1.1.1",
                "items":[
                    {
                        "text":"1.a",
                        "leaf":true
                    }]
            }
        ]

    },


        {
            "text":"1.2",
            "items":[
                {
                    "text":"1.2.1",
                    "leaf":true
                }
            ]

        },
        {
            "text":"1.3",
            "items":[
                {
                    "text":"1.3.1",
                    "leaf":true
                }
            ]

        }
    ]

}

感谢任何帮助。

提前致谢。

1 个答案:

答案 0 :(得分:0)

首先,这可能是一个很好的参考:Nested List not loading in sencha

然后以下JSON将满足您的需求(假设您已在模型中定义了img_src字段)

items: [
{
    text: 'not_leaf',
    img_src: 'your_link_1',
      items: [
        { text: 'leaf_1', img_src: 'your_link_2',  leaf: true },
        { text: 'leaf_2', img_src: 'your_link_3', leaf: true }
      ]
    }
]

然后Sencha Touch会自动加载您的所有图片来源,您可以随意使用它们。

注意:如果您想要做的只是倾听&amp;处理事件,在itemtap

上使用leafitemtapExt.NestedList事件

希望这有帮助。