2013-09-25 27 views
0

我有三個變量:foobartestIdentify Ext.Component vs Ext.Element vs HTMLElement

它們是下列對象:一個Ext.Component,一個Ext.Element的HTMLElement的(或DOM節點)。

  1. 您將如何識別哪一個是哪個?例如。 foo.isExtElement()

  2. 你會如何爲每個變量找到其他兩個相關的對象?例如。找到相應的給你Ext.Element的HTML元素已經知道fooExt.Component。等等。

EDIT(I無法將[HTML元素]標籤由於低信譽添加):

加入實施例#1和作爲每@kevhender替換 「轉換」 與「找」。

回答

2

這個問題本身並沒有什麼意義。你不會將這些任何「轉換」成另一個......這些是3種不同的,不同類型的變量,每種變量都有自己的目的。

我已經解決我的回答這三種類型之間的差異,以你的最後一個問題:https://stackoverflow.com/a/18855938/2072693

我不會把它們的「轉換」,但這裏有獲得這些類型中的一種方式從另一個:

component.getEl() //gets the Ext.Element of the top level of the component 
component.getEl().dom //gives the HTMLElement of the top level of the component 
element.dom //gets the HTMLElement from the Ext.Element 
Ext.get(htmlElement) //allows for using Ext.Element methods on an HTMLElement 

沒有內置的方式來獲得一個Ext.Element的HTML元素或一個Ext.Component - 事實上,就沒有真正意義。

+0

好吧,不是「轉換」。我的意思是找到知道組件的元素,反之亦然。你做對了。爲什麼找到一個組件沒有意義?那麼'Ext.getDom()'怎麼樣? – Geo

+0

這沒有意義,因爲組件與元素的比率不是1:1。組件使用任意數量的元素繪製在屏幕上,所以只有元素不能保證它對應於一個組件。此外,我從來沒有使用'Ext.getDom()',但它看起來像另一個輔助方法,可以肯定地用於我的答案所說的類似功能。 – kevhender

+0

所以有可能涉及*多個*組件的元素? – Geo

相關問題