0

基本上我有一个名为 DummyPanel 的面板,现在在 dummypanel 初始化事件上我调用了一个控制器函数,如下所示:

var me = component;
var fieldCollection = 
{
    "Order"      : 'ordNumber',
    "Ref": 'refNumber'
};

me.fireEvent('myControllerFunction','Param1', fieldCollection, 'Param3');

现在我想在函数 myControllerFunction 中获取fieldCollection JSON对象值,以从fieldCollection中获取值,我使用以下代码:

 myControllerFunction(param1, collection, param3)
 {
    Ext.Msg.alert(collection.Order); 
 }

但它不返回任何东西。所以请告诉我如何解决这个问题!

任何评论将不胜感激!

4

2 回答 2

0

我不太确定它是什么意思“但它不返回任何东西”,但我会尝试。

因此,您的“DummyPanel”视图具有别名或 itemId 属性。在您的控制器中(在 init() 函数中),您需要“跟踪”您的视图。例如:

在您看来:

me.fireEvent('myEventName','Param1', fieldCollection, 'Param3');

在您的控制器中:

init:function(){
    var me = this;
    this.control({
        'panel[itemId=your-view-itemId]': { // call your function after event
            myEventName: me.myControllerFunction
        }
    });
    ...
},

...

myControllerFunction: function(...) {
    ...
}
于 2013-08-06T19:15:47.613 回答
-2

不应该

Ext.Msg.alert(collection["Order"])?

或者如果你想保持 Ext.Msg.alert 的方式 fieldCollection 应该这样定义

var fieldCollection = 
{
    Order : 'ordNumber',
    Ref : 'refNumber'
};
于 2013-08-06T15:33:50.257 回答