2012-04-12 8 views
0

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

現在、私はViewportとして簡単なExt.Containerを使用しています。私は、ビューのrefsを宣言し、私は私のcontrollerに新しいビューに変更するとき、私は現在、このようにそれを実行します。

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

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

しかし、これは正しいアプローチであると適切documenationを見つけcouldn't場合 - 私はわかりません。現在、私は手動でビューを破棄するとcontrollerrefsのトラックを失っているようです。では、ビュー間で前後にナビゲートする最善の方法は何ですか(NavigationViewのpush()pop()に類似しています)?古いビューを破棄して新しいビューを追加する必要がありますか?または、古いビューを非表示にして新しいビューを追加するだけですか?

答えて

0

ビューを自由にカスタマイズする場合は、Ext.NavigationViewは推奨しません。代わりに、Ext.Container(推奨)、Ext.Panelなどの基本タイプを使用します。

レフリーをまだあなたが破壊するか、もう一度あなたの意見を追加するたびに動作しますが、コンポーネントが利用可能であることを条件とします。

しかし、新参者、簡単なアプローチ(ただし、パフォーマンスのために最適ではない)として、私はあなたがすべてのあなたの必要なコンポーネントを作成し、必要なときに簡単に/それらを無効にアクティブであることを示唆している可能性があります。

ビューをアクティブにする場合は、まずビューの親を検索する必要があります。たとえば、Ext.Containerの3つのパネルがあります。そして、あなたがその容器の第2のパネルをアクティブにしたい場合は、(アニメーションなし)setActiveItem(yourContainerRef, 1)を使用するか、明確化のためanimateActiveItem(yourContainerRef, 1, {type: 'slide'})

+1

感謝。 – dp1000