0

次のように、アプリケーション ビューポートにコンテンツを追加しています。

Ext.Viewport.animateActiveItem(item, {transition})

最後のビューに「戻る」方法を探しています。それは可能ですか、それともビューポートは最後のビューを破棄しますか?

4

3 に答える 3

2

組み込みの履歴サポートを使用しないのはなぜですか? 次のように履歴オブジェクトにエントリを追加できます。

this.getApplication().getHistory().add(Ext.create('Ext.app.Action', {
    url: 'dashboard'
}));

その関数を呼び出すと、アプリケーションの URL ハッシュが変更されます。コントローラーでルートを使用してイベントを取得できます...次のように構成に追加します。

config: {
    routes: {
       'dashboard': 'showDashboard'
    },
    control: {
       //controls...
    }
},

Sencha Touch は URL の変更を認識し、ルートを調べて次のような関数を呼び出します。

showDashboard: function() {
    Ext.Viewport.animateActiveItem(item, {transition});
},

このメソッドを使用すると、ネイティブの戻るボタンで前のビューに戻ります。移動したいビューを呼び出すこともできます。履歴オブジェクトに関するドキュメントはこちら: http://docs.sencha.com /touch/2-0/#!/api/Ext.app.History

于 2012-08-15T22:12:41.993 に答える
1

Ext.Viewport.animateActiveItem()では、最初のパネルでを使用してみませんか?

私はここでそれをやった: http://www.senchafiddle.com/#xTZZg

お役に立てれば

于 2012-08-14T13:16:50.310 に答える
0

Ext.app.Action はプライベートな Sencha クラスであるため、将来のリリースでの存在を保証することはできません。より良い方法は交換です...

this.getApplication().getHistory().add(Ext.create('Ext.app.Action', {
    url: 'dashboard'
}));

これとともに ...

this.getApplication().redirectTo('dashboard');

toUrl() メソッドを実装している場合は、 Model オブジェクトを渡すこともできます ...

this.getApplication().redirectTo(myModelObj);

必要に応じて、次のコマンドを使用して戻ることができます。

history.back();

タッチ履歴ガイドを参照してください。

于 2013-04-04T08:16:19.510 に答える