2013-11-20 53 views
0

我需要傳遞我的MessageBox的實例,所以我可以關閉它在控制器內部的Ajax請求的成功函數中。這樣,我就不需要爲控制器添加引用來查找我的消息框。如何將MessageBox的實例從網格傳遞到控制器?

this.win = Ext.create('Ext.window.MessageBox',{ 
    buttonAlign: 'left'  
    ,buttons:[ 
    { 
     text: "This Only" 
    ,scope:this 
    ,handler: function() { 
     this.fireEvent("eventName",{type:"all", // i presume my messagebox is simply passed in here, I just dont know HOW }); 
     } 
    } 
    ] 

非常感謝您!

回答

0

您需要在引發事件時傳遞引用,例如,

this.fireEvent("eventName",{type:"all", this.up('window') });

您傳遞this.up('window')this指按鈕被點擊,您需要遍歷DOM向上獲取父窗口。然後在你的事件中,你可以訪問窗口實例作爲事件中的第二個參數 - 並且可以用它來做什麼(.e.g window.close();

n.b.關閉我的頭頂我不記得如果你可能會更好使用this.up('messagebox')

+0

它實際上是this.win-- (eventName,{type:「all」},this.win); 謝謝! – Jack123456789

相關問題