1

我使用 Extjs 4.2 和 Deftjs。

在我的网格面板视图中,我定义了一个插件,例如:

plugins: [
         Ext.create( 'Ext.grid.plugin.CellEditing', {
            clicksToEdit: 1,
            listeners: {}
         } )
      ]

但我不想在我的视图中定义侦听器和操作,而是在我的控制器中。

那么如何从我的控制器定义这个插件的监听器呢?

我试图在控制器的构造函数中定义整个插件属性:

constructor: function( oConfig ) {
         var that = this;

         Ext.apply( that, oConfig, {
            plugins: [
               Ext.create( 'Ext.grid.plugin.CellEditing', {
                  clicksToEdit: 1,
                  listeners: {
                     edit: function( oEditor, oOptions ) {
                        console.log( oEditor, oOptions );
                     }
                  }
               } )
            ]
         } );

         that.callParent( [ arguments ] );
      },

但那是错误的,我可以通过这种方式获取视图配置。我希望插件留在视图中,但在我的控制器中定义侦听器。

4

1 回答 1

0

我没有为我的问题想出解决方案,但我设法通过使用以下方法在我的控制器中定义了侦听器的操作:

oView.editingPlugin.on( 'beforeedit', function( a, b ) {
            console.log( a, b );
         } );
于 2013-10-25T12:44:46.160 回答