Ramal.getCmp (id) ou Ext.ComponentQuery.query (atributo)

sou novo em Extjs e uso Extjs v4.2.0. Para encontrar um objecto, posso usar qualquer um dos exts.getCmp (id) ou Ext.ComponentQuery.query (atributo).Qual é melhor usar e mais rápido?

Author: sushant jain, 2013-07-26

2 answers

O melhor é evitar usar qualquer um destes dois directamente. {[[0]} é especialmente considerado mau "cheiro de código". Você deve se esforçar para organizar seu código de tal forma que você não precisa deles.

As pesquisas de componentes são elegantes, mas você deve usá - las a partir de um recipiente original (reduzindo assim a árvore de pesquisa e permitindo-lhe alavancar relativa itemId), ou de um controlador . É meu palpite que os controladores são a verdadeira razão pela qual as consultas de componentes foram adicionados ao Ext4.

 6
Author: rixo, 2013-07-26 02:29:22

getCmp será mais rápido, uma vez que é uma simples pesquisa de hash. Quando você usa query, ele tem que processar e então executar a consulta, então para um id simples apenas, getCmp é melhor.

No entanto, tenha cuidado em usar id's, uma vez que eles precisam ser globalmente únicos. É apenas uma boa idéia usá-los em casos em que você sabe que haverá apenas um, por exemplo, uma janela de login, ou o seu principal recipiente de aplicativos.

 3
Author: Evan Trimboli, 2013-07-26 02:23:43