【问题标题】:Extjs pass in parameters to window on showExtjs 将参数传递给显示窗口
【发布时间】:2012-05-01 13:09:37
【问题描述】:

我想在调用 window.show() 时将参数传递给我的窗口。

我在我的窗口中为 show 方法添加了一个侦听器,但它将参数显示为 [Object, object]。

 #window call
 var test = 'hi';
 tstWin.show(test);

 #listener
  listeners : {             
    'show' : function(test){
        alert(test.value);
     }   
  }

【问题讨论】:

    标签: extjs window


    【解决方案1】:

    在您的事件处理程序中的参数将与您放入 show() 方法的参数不同。事实上,它们彼此没有任何关系。

    阅读:http://docs.sencha.com/ext-js/4-0/#!/api/Ext.AbstractComponent-event-show

    显示事件处理程序将在第一个参数中接收对对象的引用。

    更新:

    你可以这样做:

    win = Ext.create(...); // Create your window object here
    win.myExtraParams = { a: 0, b: 1, c: 2}; // Add additional stuff
    win.on('show', function(win) {
       console.log(win.myExtraParams.a, win.myExtraParams.b, win.myExtraParams.c);
    });
    
    win.show();
    

    【讨论】:

    • 谢谢,这让它更清楚了。你知道无论如何你可以在显示窗口之前/之前传递参数吗?
    • 这完全取决于您到底要做什么。你在哪里需要这个参数,你会用它做什么?
    • 窗口包含一个表单,当窗口打开以用于表单提交时,我正在从网格中传递参数。
    • 将它们作为属性添加到 Window 对象,然后再访问它们。我将用一些代码 sn-ps 更新我的答案
    • 这在 EXtJS 6 中不再有效。请检查此答案:stackoverflow.com/questions/45022475/…
    猜你喜欢
    • 2013-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多