2

私はSenchaTouch2のナビゲーションビューを使用して、アプリでビューナビゲーションを提供しています。

現在、コントローラーの起動メソッドでビューオブジェクト(たとえば"VOCABI.view.Search"、xtypeを使用"searchview")を作成し、コントローラーの構成に以下を含めることでそれを参照するアプローチを使用しています。

refs: {
    searchView: 'searchview'
}

検索ビューを表示したいときは、次のようにナビゲーションビューにプッシュします。

navView = this.getNavView();                  // Defined
navView.push([this.getSearchView()]);         // Defined by refs

問題は、ユーザーが検索を終了してビューの戻るボタンを押すと、searchViewが破壊されたように見えるため、getSearchView()メソッドがnullを返すため、次にユーザーが何かを検索したいときに問題が発生することです。

pop()これは、メソッドが呼び出されたときにポップされたビューを破棄するナビゲーションビューのデフォルトの動作ですか?

もしそうなら、これはあなたがそれを提示するたびに検索ビューを作成するための悪い回避策でしょうか?好き

Ext.create("VOCABI.view.Search");
this.getNavView().push([this.getSearchView()]); 

どうもありがとうございました!

4

2 に答える 2

5

あなたはnavigationviewの設定を追加する必要があります

autoDestory:false

このため、検索ビューはナビゲーションビューのポップイベントで破壊されません

于 2012-10-02T04:56:01.877 に答える
3

ポップされると、Sencha Touch 2.0では、NavigatioViewがその子コンポーネントを破棄するのがデフォルトです。したがって、あなたの場合は、心配することなくこれを使用できます。

navView.push({
   xtype : 'searchview'
}); 

NavigationViewの子コンポーネントを破棄しないように強制することができます。しかし、あなたの場合、とにかく破壊することは良い習慣になるようです。

于 2012-10-05T08:15:31.853 に答える