Dom 您需要获取其包含的ExtJS组件
Niklas对如何选择组件和元素的回答非常好。我要添加的唯一内容是,您可以使用Dom 您需要获取其包含的ExtJS组件,dom,extjs,dependencies,components,element,Dom,Extjs,Dependencies,Components,Element,Niklas对如何选择组件和元素的回答非常好。我要添加的唯一内容是,您可以使用up()和down()来选择相对于组件的内容。这样,您应该在组件上使用itemId,而不是全局标识符id(如果重用具有相同id的组件,则使用id可能会导致难以调试的错误) 此外,为了补充Niklas关于显示/隐藏组件的回答,该框架确实向组件的元素添加了一些CSS,这取决于组件的hideMode。在此处了解有关该酒店的更多信息: 了解更多信息的一个很好的方法是浏览该框架附带的所有示例。在浏览器中打开示例,然后查看代码以了
up()
和down()
来选择相对于组件的内容。这样,您应该在组件上使用itemId
,而不是全局标识符id
(如果重用具有相同id的组件,则使用id
可能会导致难以调试的错误)
此外,为了补充Niklas关于显示/隐藏组件的回答,该框架确实向组件的元素添加了一些CSS,这取决于组件的hideMode
。在此处了解有关该酒店的更多信息:
了解更多信息的一个很好的方法是浏览该框架附带的所有示例。在浏览器中打开示例,然后查看代码以了解如何完成操作。你会发现用这种方式学习比在纸上或网站上阅读更容易。在学习新东西时,没有什么能比经验更好。尝试自己回答这个问题 既然有,我就把答案放进去。请注意鼠标滚动的注释
这只是目前的一种模式。它需要更清晰、更完整的工作。请随时发表评论,或询问我是否愿意编辑它。这是一次非常可靠的尝试。然而,它似乎只是在讨论
Ext.ComponentQuery.query
。元素、DOM节点等呢。?此外,可能还需要对布局进行一些清理(我可能稍后会自己编辑此答案)。问题是,您可以使用Ext.ComponentQuery.query
。如果使用Sencha Touch进行开发,通常您不关心元素和DOM节点,因为您让Sencha Touch使用DOM进行开发。当你编辑你的问题时,请告诉我。你的回答方向是正确的,但我也想知道相关的Ext.元素、DOM节点以及它们之间的区别。如果,就像你说的,我不应该关心这些,那么至少我必须知道如何达到它们,依赖性是什么,等等。好吧,你现在至少知道如何达到它们,但即使这不是真的必要Ext.Element
与Sencha Touch相关,DOM节点基本上可以是浏览器中的一切。有用于链接、文本、控件等的DOM对象。最后,每个Sencha Touch元素都将转换为纯HTML,因为浏览器/设备只知道如何显示HTML。例如,textview
将类似于
,有一些特定的Sencha Touch类用于典型设计,并打包到一些div中用于布局。非常好的解释我认为你的问题太广泛了,如果你有一个关于功能的特定问题,或者你从文档中不了解的东西,但你基本上只是问“整个核心是如何工作的”。你似乎没有花足够的时间阅读文档。这个问题可能会变成一个社区维基。文档中缺少使用示例,也没有清楚地区分每个对象。也许你是对的。也许把它分成5个问题是有意义的:每个数字一个问题?或者每个物体一个问题?没有足够的答案。我希望悬赏案能推迟到更全面的答复。我将开始一个新的,一旦我获得更多的声誉点!你忘了:[nextNode([selector])]()/[previousNode([selector])(),我已经更正并更新了你的表格。请查看@sra,我应该如何奖励奖金?我希望它能推迟。你不能把奖金奖励给你自己。谢谢你的“核心”链接——非常有用!是的,我不知道为什么那个很难找到,而且广告也不好。。。它有丰富的信息,是的。我只是希望它不会太过时。在我阅读的过程中,如果发现拼写错误/错误,我看不到一个清晰的方法来报告/评论它们。
Ext.ComponentQuery.query("*") // get all
Ext.ComponentQuery.query("button") // all buttons
Ext.ComponentQuery.query("#myid") // all controls / components myid
Ext.ComponentQuery.query("#myid", rootelement) // all controls / components myid with rootelement
Ext.ComponentQuery.query("#myid,button") // all buttons or controls / components myid
Ext.ComponentQuery.query("#viewId")[0].add(new Ext.Button({ text: 'test'}));
Ext.ComponentQuery.query("button").forEach(function(button){ button.hide(); }) // hide all buttons
var dom = Ext.ComponentQuery.query("button")[0].element.dom // Getting the DOM from the first button
var dom2 = component.element.dom // does also work as long as component is a valid sencha touch component
<div id="myDiv">My content</div>
var el = document.getElementById('myDiv')
var el = Ext.get('myDiv')
var myComponent = Ext.create('Ext.Component', { html: 'my component' });
var el = myComponent.getEl();