ExtJS工具栏加载项

时间:2011-06-21 09:04:34

标签: ajax json extjs

我需要通过ajax加载项目(菜单)但不明白如何... 试图这样做:

var tb = Ext.create('Ext.toolbar.Toolbar', { 
        renderTo: 'top-menu', 
        autoLoad: { 
            url: '/index/tullbar', 
            renderer: 'component', 
            params: { 
                userId: 1 
            } 
        }, 
        layout: { 
            overflowHandler: 'Menu' 
        } 
    }); 

}); 

响应:

[
    {
        "text": "test",
        "menu": {
            "text": "asdf",
            "handler":"handleAction.createDelegate(window)"
        }
    }
] 

但处理程序无效。 任何人都可以提供工作实例。

1 个答案:

答案 0 :(得分:0)

之前我没有使用过元素加载器所以我会猜测你应该根据http://docs.sencha.com/ext-js/4-0/#/api/-cfg-renderer指定一个渲染器函数:

var tb = Ext.create('Ext.toolbar.Toolbar', { 
    renderTo: 'top-menu', 
    autoLoad: { 
        url: '/index/tullbar', 
        renderer: function(loader, response) {
            var menuItems = Ext.decode(response.responseText);
            tb.items.add(menuItems);
        }, 
        params: { 
            userId: 1 
        } 
    }, 
    layout: { 
        overflowHandler: 'Menu' 
    } 
});