0

起動時にビューxtypeを起動してユーザーにサインアップさせるアプリがあります。このビューにはいくつかの選択フィールドがあり、すべてが期待どおりに機能します。このビューをスキップして後でアクセスするオプションもあります。ユーザーが後でこのビューにアクセスすると、データが正しい要素に追加されないという問題が発生します。値は設定されていますが、実行するとExt.ComponentQuery.query('[itemId=item_name]')2つの要素が返されます。どういうわけか、このビューの要素が複製されています。

autoDestroy: trueこのビューの設定も試しましたが、効果はありません。

destroy()また、イベントのメソッドを使用してビューを手動で破棄しようとしましたdeactivate()。これを行うと、動作がおかしくなり、別のプッシュされたビューからアイテムを選択してプロファイル画面に戻ると、このビューが存在しないかのようにナビゲーションビューが壊れます。ナビゲーションバーのヘッダーが壊れ、戻るボタンが正しく表示されません。

ビュー要素が複製されるのはなぜですか?どうすればこれを防ぐことができますか。

4

1 に答える 1

0

さらに調査した結果、他のビューのようにビューがDOMから自動破棄されていないことがわかり、さらに調べました。次に、実際にビューから離れて移動していることに気付きましたExt.Viewport.setActiveItem(Ext.create('MyApp.view.Main'));

item.destroy()イベントの呼び出しを追加すると、deactivateうまくいきました。ただし、 の後で、Ext.Viewport.setActiveItem同様Ext.Viewport.remove()にトリックを行ったはずです!

これが誰かに役立つことを願っています!

于 2013-03-22T01:58:26.627 に答える