我看到 Ext JS 中有很多例子,其中不是实际创建 Ext JS 对象,而是一个带有xtype
属性被传入。
这有什么用?如果无论如何都要创建对象,性能增益在哪里(如果这是原因)?
xtype
是识别特定组件的简写方法:panel
= Ext.Panel
, textfield
= Ext.form.TextField
等。当您创建页面或表单时,您可以使用这些xtypes
而不是实例化对象。例如,
items: [{
xtype: 'textfield',
autoWidth: true,
fieldLabel: 'something'
}]
Moreover,以这种方式创建页面允许Ext JS延迟渲染页面 http://extjs.com/forum/showthread.php?p=138612。这就是您看到“性能增益”的地方。 Ext JS 不会在应用程序加载时创建大量组件,而是在用户需要查看组件时呈现它们。如果您只有一个页面,这没什么大不了的,但如果您利用选项卡或手风琴,许多页面最初会被隐藏,因此应用程序加载速度会更快。
此外,您还可以创建并注册创建您选择的 xtypes 的新组件。 Ext JS 也会类似地延迟渲染你的组件。
您还可以通过 ID 检索组件。由于您的组件(以及 Ext JS 组件)可能提供一系列良好的行为,因此有时搜索和检索组件比简单的 DOM 元素或节点更方便。
简而言之,xtypes 标识组件,而组件是 Ext JS 的一个关键方面。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)