0

Sencha Touch 2 は初めてで、ビュー間のナビゲーションについて質問があります。異なるビュー間を移動する最善の方法は何ですか? 提供された NavigationView クラスを使用してみましたが、必要な機能がすべて提供されません。

現在、私はアプリのシンプルなものを使用してExt.Containerいます。Viewportビューを宣言refsしましたが、新しいビューに変更すると、controller現在次のようにしています。

var oldView = this.getOldView();
Ext.destroy(oldView);

var newView = Ext.create('MyApp.view.MyView');
Ext.Viewport.add(newView);

しかし、これが正しいアプローチであり、適切なドキュメントが見つからないかどうかはわかりません。現在、ビューを手動で破棄すると、controllerが追跡できなくなっているように思えます。refsでは、ビュー間を前後に移動するための最良の方法は何ですか (NavigationViewpush()やに似ていますpop())。古いビューを破棄して新しいビューを追加する必要がありますか? それとも、古いビューを非表示にして新しいビューを追加するだけですか?

4

1 に答える 1

0

ビューを自由にカスタマイズしたい場合は、Ext.NavigationViewはお勧めしません。代わりに、Ext.Container (推奨)、Ext.Panel などの基本的な型を使用してください。

コンポーネントが使用可能であれば、ビューを再度破棄または追加するたびにrefsは機能します。

しかし、初心者としては、単純なアプローチ (ただし、パフォーマンスには最適ではありません) として、必要なすべてのコンポーネントを作成し、必要に応じてそれらをアクティブ化/非アクティブ化することをお勧めします。

ビューをアクティブにする場合は、まず、そのビューの親を見つける必要があります。たとえば、3 つのパネルを持つExt.Containerがあるとします。次に、そのコンテナーの 2 番目のパネルをアクティブにする場合は、setActiveItem(yourContainerRef, 1)(アニメーションなし) またはanimateActiveItem(yourContainerRef, 1, {type: 'slide'})

于 2012-04-12T12:57:03.370 に答える