如何在Controller中更改初始View配置

时间:2013-10-25 10:07:16

标签: extjs extjs4.2 deftjs

我使用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 ] );
      },

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

1 个答案:

答案 0 :(得分:0)

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

oView.editingPlugin.on( 'beforeedit', function( a, b ) {
            console.log( a, b );
         } );