【问题标题】:EXTJS 4.1 MVC: How to add listeners for grid plugins at controllersEXTJS 4.1 MVC:如何在控制器中为网格插件添加侦听器
【发布时间】:2013-01-02 12:31:28
【问题描述】:

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

【问题讨论】:

标签: model-view-controller controller extjs4.1 addeventlistener


【解决方案1】:

不确定它是否可以帮助你,我自己现在直接使用 ComponentQuery 来检索当前编辑的字段..检查它..

ExtJS 4 - How to listen event of each field within roweditor inside controller

【讨论】:

    【解决方案2】:

    下面的例子对我有用。也就是说,我现在可以在我的控制器中处理插件事件。由于我正在开发自定义插件,而您使用的是打包插件,因此您的方法会有所不同。我认为您应该扩展您想要使用的插件,从我的示例中添加“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 年年中来到这篇文章寻找适当的答案,但没有找到。这基本上就是我解决问题的方式。希望对你有帮助!

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2013-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-25
        • 2023-03-05
        • 2017-11-23
        • 2013-01-04
        相关资源
        最近更新 更多