0

したがって、Ext js アプリケーションがあり、アプリケーション起動関数の一番下に、コンポーネントを描画した後、次のコード行があります。

Ext.ComponentManager.all.on('render', function(cmp) { console.log(cmp); });

ユーザーにレンダリングされる前に、すべてのコンポーネントがこの関数を通過することを期待していますが、そうではありません。何が起こっているのか提案できますか?とにかく、私がやりたいことは、すべてのコンポーネントを 1 か所でキャッチrenderまたはbeforerenderイベントすることです。ええ、私のアプリケーションは MVC アーキテクチャを使用しています

4

1 に答える 1

1

*コントローラーでは、コンポーネント クエリとして使用して、これらのイベントのリスナーをすべてのコンポーネントに追加できます。

this.control({
    '*': {
        beforerender: function(cmp) {
            console.log('beforerender: ' + cmp.id);
        },
        render: function(cmp) {
            console.log('render: ' + cmp.id);
        }
    }
});
于 2014-04-04T14:09:51.757 に答える