2012-04-20 7 views
4

私は自分のアプリケーションを最適化しています。もともと、それはExt.TabPanelですが、私はExt.TabBarを下にドッキングして上記のビューを変更することにしました。したがって、私のメインExt.Containerから多くの追加/削除アクションが必要です。Sencha Touch 2のExt.Containerにアイテムを追加/削除するにはどうすればいいですか?

私の質問は:Ext.Containerのアイテムを効果的に追加/削除する方法は何ですか?つまり、メモリリークを引き起こさず、エラーも発生しません。最初に追加されたボタンが表示され、すべてのハンドラ(コントローラー内でrefscontrolで定義されています)は正常に動作しますが、 (つまり、後で取り除かれ、再び追加されます)、すべてのハンドラが終了します。

ありがとうございます!

答えて

6

パネルが破壊されているかどうかを確認する必要があります。そうでない場合は、パネルが破壊されます。

一般に、コンテナからコンポーネントを削除するには、削除するアイテムとして最初のパラメータを取り込むContainer remove()関数を使用し、2番目のパラメータは破棄するかどうかを示すブール値です。 DOMを可能な限りリーンに保つために、これをtrueに設定する必要があります。近いうちにそのコンポーネントを再利用する予定で、再度レンダリングしたくない場合を除き、そのコンポーネントを破棄する必要はありません。

http://docs.sencha.com/touch/2-0/#!/api/Ext.Container-method-remove

+0

お返事ありがとうございます。 'myContainer.remove( 'item_id'、false)'を呼び出すと、項目がまだ破棄されていないので、add()を再度呼び出すと処理が速くなります。 –

+0

はい、それはあなたにそれを破壊するかどうかを与える理由です。また、コンテナには2番目のパラメータ – stan229

+0

に何も渡さないと読み込まれるautoDestroyプロパティ(デフォルトはtrue)がありますが、削除されたアイテムを破棄しようとしないとDOMを検索するのが遅くなります他の行動で? –

関連する問題