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

时间:2012-05-24 13:48:42

标签: extjs4

我正在使用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)

这里我传递的是String,它只不过是JSON。

 "max": {
      "type": "maximize",
      "handler": function(e,target,panelHeader,tool){
        userMaximize(e,target,panelHeader,tool)
      }
    }

userMaximize是我的功能,我想在用户点击菜单项时调用它。

所以我没有在函数中添加“”(等等。 在Chrome和FF中它工作正常。但在IE中,它给了我错误。

请建议如何在JSON中将函数作为对象传递,以便在菜单项上单击事件userMaximize将执行?

1 个答案:

答案 0 :(得分:0)

如果您正在尝试使用工具,请编写一些像这样的代码

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
    }
}]