Recommandé d'ajouter/supprimer des éléments à partir d'un Poste.Le récipient dans le Sencha Touch 2?
Je suis l'optimisation de mon application. À l'origine, c'est un Ext.TabPanel
mais j'ai décidé de n'utiliser qu'une Ext.TabBar
ancrée en bas et changer les points de vue ci-dessus, de sorte qu'il exige beaucoup de ajouter/supprimer des actions de mon principal Ext.Container
.
Donc ma question est: comment je doit faire pour ajouter/supprimer des éléments de mon Ext.Container
efficacement? Je veux dire: rapide, pas de cause à la mémoire des fuites, et aussi, de ne pas provoquer d'erreur comme ceci: le point de vue d'un bouton, d'abord ajouté, tous les maîtres-chiens (qui sont de définir, par le biais refs
et control
dans un contrôleur) fonctionnent bien, mais la deuxième fois (j'.e il est retiré et a ajouté plus tard), tous les gestionnaires de mourir.
Merci d'avance!
OriginalL'auteur Thiem Nguyen | 2012-04-20
Vous devez vous connecter pour publier un commentaire.
Vous devez vous assurer que vous détruisez le panneau est détruit, sinon il serait assis dans les dom.
Généralement pour supprimer un élément d'un récipient que vous utilisez le Conteneur remove() fonction qui prend en premier paramètre l'élément à supprimer et le second est un booléen qui indique pour qu'il soit détruit ou pas. Vous devriez vous assurer que vous attribuez la valeur true à assurez-vous de garder votre DOM aussi mince que possible. Sauf si vous allez à la réutilisation de ce composant dans un avenir proche et ne veulent pas rendre de nouveau, alors vous n'avez pas besoin de les détruire.
http://docs.sencha.com/touch/2-0/#!/api/Ext.Conteneur-méthode-supprimer
myContainer.remove('item_id',false)
, il sera plus rapide quand j'ai appeler la méthode add() de nouveau, car l'élément n'a pas été détruit et pourtant, non?Oui, c'est pourquoi ils vous donnent la possibilité de détruire ou non. Remarque le conteneur a aussi un autoDestroy propriété (par défaut à true) c'est-à lire si vous n'avez pas passer n'importe quoi dans le deuxième paramètre
mais quand je ne cherche pas à détruire mon "supprimé" éléments, qu'il sera plus lent pour la recherche dans les DOM dans d'autres actions?
Lorsque vous ne les détruisez pas, il y aura un stub toujours assis sur le DOM, je ne suis pas sûr si c'est l'ensemble du composant (le plus probable) ou tout simplement un espace réservé. Comme vous le savez le DOM est la partie la plus lente du navigateur, donc, en particulier pour les applications mobiles, nous, comme pour essayer de le garder aussi mince que possible. Il y a un certain nombre de meilleures pratiques dans quand retirer quelque chose contre le cacher contre le détruire tous ensemble. Si vous êtes de changer fréquemment les panneaux sur un tabbar, vous pourriez être mieux seulement de cacher les panneaux et ne pas faire un plein à enlever, car l'utilisateur peut revenir fréquemment.
OriginalL'auteur stan229