0

アプリクラスに次のコードがあります。

 switchMainView: function (newView, config) {
        if (this.currentView != false) {
            Ext.Viewport.remove(this.currentView);
        }

        this.currentView = Ext.create(newView, config);        
        Ext.Viewport.animateActiveItem(this.currentView, { type: 'slide', direction: 'right' })
    },

任意のコントローラーから呼び出すことができます。ただし、アニメーションは表示されません。何が問題なのですか?

4

2 に答える 2

0

煎茶の人によると:

AnimateActiveItem(activeItem,animation) は

指定されたアニメーションで、提供された activeItem にアニメーション化します。現在、これはカード レイアウトでのみ機能します。この渡されたアニメーションは、1 つのカードの切り替えについて、コンテナーの既定のアニメーションをオーバーライドします。アニメーションは完了すると破棄されます。

viewport: {
layout: {
    type: 'card'
}

}

上記のコードを app.js に追加します

于 2012-12-20T04:30:09.203 に答える
0

これは、「this.currentView」ビューがまだビューポートに含まれていないためです。animateActiveItem 行の前に次の行を使用します。

Ext.Viewport.add(this.currentView); 

これで動作するはずです。

于 2012-12-17T13:19:10.697 に答える