Extjs4 extjs 4如何在JSON字符串中传递函数

Extjs4 extjs 4如何在JSON字符串中传递函数,extjs4,Extjs4,我正在使用JSON字符串创建门户 差不多 appPortalItems.add({ id: PortletID, collapsed: true, title: PortletTitle, height: PortletHeight, tools: getToolsBar(String), html: htmlContent, listeners: {

我正在使用JSON字符串创建门户

差不多

    appPortalItems.add({ 
        id: PortletID,
        collapsed: true,
        title: PortletTitle,
        height: PortletHeight,
        tools: getToolsBar(String),
        html: htmlContent,
        listeners: {
            'close': Ext.bind(panel.onPortletClose, panel),
            'endDrag': Ext.bind(panel.onPortletDrag, panel),
            'resize': Ext.bind(panel.onPortletResize, panel)
        }
     });
所以在上面的代码中有一些工具:getToolBar(String)

这里我传递的是字符串,它只不过是JSON

 "max": {
      "type": "maximize",
      "handler": function(e,target,panelHeader,tool){
        userMaximize(e,target,panelHeader,tool)
      }
    }
userMaximize是我的函数,我想在用户单击菜单项时调用它

因此,我没有在函数(e等)中添加“”。。 在Chrome和FF中,它运行良好。但在IE中,它给了我错误


请建议如何将函数作为JSON中的对象传递,以便在菜单项上单击event userMaximize(事件用户最大化)将得到执行?

如果您试图使用工具,请编写如下代码

tools:[{
    type:'maximize',
    tooltip: 'maximize !',      
    handler: function(event, toolEl, panel){
        userMaximize(e,target,panelHeader,tool)// check the parameters passed
    }
},
{
    type:'help',
    tooltip: 'Get Help',
    handler: function(event, toolEl, panel){
        // show help here
    }
}]

通过将函数作为字符串传递,您在尝试什么?我正在尝试使用add函数创建portlet。对于add函数,我将所有portlet属性作为Json传递。但是,当我使用一些Json验证器检查Json时,它会给我错误,但它在Chrome和Mozilla中运行良好。遗憾的是,afaik Json数据结构不允许您传递函数作为值。您可能需要
eval
?但是我如何在JSON中将其作为字符串传递给add函数?