0

私のビューにはRowEditがあります。モデルを保存できるように、コントローラーを呼び出したいのですが。

私の見解

var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
    clicksToMoveEditor: 1,
    autoCancel: false,
    listeners: {
        afteredit: function () {
          // i want to call the controller from here
        }
    }
});

Ext.define('Pandora.view.MaterialsList', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.materialslist',
    store: 'Materials',
    title: 'Materials',
    plugins: [rowEditing]
}

私はこれを間違った方法で行っている可能性があり、コントローラーでこのイベントをキャッチしようとしているはずですが、コントローラーでイベントをキャッチできませんでした。

4

1 に答える 1

3

ドキュメントによると、必要なイベントは ではありeditませんafteredit。コントローラーで聞いてみてください。

要求したことを引き続き実行できるようにしたい場合は、次のようにします。

コントローラーの 1 つで、init コードで、アプリケーションをグローバル変数に割り当てる必要があります。APP = this.application

次に、アプリケーションのどこでも、次のように言うことができますAPP.getController('myController').myMethod()

于 2012-02-03T14:46:41.120 に答える