0

我找到了在EXTJS MVC中实现组件侦听器的方法。但是我找不到在控制器上为网格插件添加侦听器的方法。

4

3 回答 3

0

这已经得到解答,虽然专门针对 rowEditing 插件,但它应该适用于任何插件: Ext JS 4 - How to control rowEditor inside controller

于 2014-09-29T11:59:43.783 回答
0
于 2013-01-04T09:41:39.110 回答
0

下面的例子对我有用。也就是说,我现在可以在我的控制器中处理插件事件。由于我正在开发自定义插件,而您使用的是打包插件,因此您的方法会有所不同。我认为您应该扩展您想要使用的插件,从我的示例中添加“mixins”和“relayEvents”概念。您还可以为您正在使用的插件创建覆盖。

Ext.define( "Ext.ux.MyController", {
    extend: "Ext.app.Controller",
    init: function() {
        this.control( {
            "mycomponentxtype": {
                "load": function(){ ... },
                "unload": function(){ ... }
            }
        } )
    }
} );


Ext.define( "Ext.ux.MyPlugin", {
    extend: "Ext.AbstractPlugin",
    alias: "plugin.myplugin",

    mixins: [
        "Ext.util.Observable"
    ],

    config: {
        ...
    },

    init: function( myComponent ) {
        var me = this;  

        // contruction of the mixin is required.
        me.mixins["Ext.util.Observable"].constructor.call( me );

        myComponent.relayEvents( me, [ "load", "unload" ] );

        .
        .
        .
    }
} );

尽管最初的问题是从 2013 年初开始的。我在 2014 年年中来到这篇文章寻找足够的答案但没有找到。这基本上就是我解决问题的方式。我希望它有帮助!

于 2014-08-24T20:00:17.073 回答