0

EXTJS MVCでコンポーネントのリスナーを実装する方法を見つけました。しかし、コントローラーでグリッド プラグインのリスナーを追加する方法が見つかりません。

4

3 に答える 3

0

それがあなたを助けることができるかどうかわからない、私自身は今、現在編集されているフィールドを取得するために直接ComponentQueryを使用しています..それをチェックしてください..

ExtJS4-コントローラー内のroweditor内の各フィールドのイベントをリッスンする方法

于 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 に答える