ExtJS4中的可重用性
我的项目中有很多可重用的代码,比如GUI、网格等等。。ExtJS4是否提供任何处理可重用代码的功能?ExtJS4中的可重用性,extjs,extjs4,reusability,Extjs,Extjs4,Reusability,我的项目中有很多可重用的代码,比如GUI、网格等等。。ExtJS4是否提供任何处理可重用代码的功能? 示例:Java具有可导入到任何项目中的库的功能。它是。。。。相同的。。。将要重用的组件放入库中,然后使用Ext.require将其导入到项目中。它是。。。。相同的。。。将要重用的组件放入库中,然后使用Ext.require将其导入到项目中。您可以使用Ext.define定义一个类,并使用Ext.create或使用xtypes在整个应用程序中重用它 如果您在其他项目中需要相同的屏幕/类,您可以复制
示例:Java具有可导入到任何项目中的库的功能。它是。。。。相同的。。。将要重用的组件放入库中,然后使用Ext.require将其导入到项目中。它是。。。。相同的。。。将要重用的组件放入库中,然后使用Ext.require将其导入到项目中。您可以使用Ext.define定义一个类,并使用Ext.create或使用xtypes在整个应用程序中重用它 如果您在其他项目中需要相同的屏幕/类,您可以复制定义类的文件并使用它 例如:
您可以使用Ext.define定义类,并使用Ext.create或using xtypes在整个应用程序中重用它 如果您在其他项目中需要相同的屏幕/类,您可以复制定义类的文件并使用它 例如: @麦克尔 您使用的是MVC结构还是ExtJS4.x版本的通用结构。 如果您使用的是MVC结构,您可以在应用程序文件夹中创建一个单独的文件夹,其中已经存在名为view、model、controller的文件夹,例如app/component。并使用as创建类 Ext.define'MyApp.component.componentName',{….} 注意,您必须包含Ext.require'MyApp.component.componentName'以预加载代码。@Mchl 您使用的是MVC结构还是ExtJS4.x版本的通用结构。 如果您使用的是MVC结构,您可以在应用程序文件夹中创建一个单独的文件夹,其中已经存在名为view、model、controller的文件夹,例如app/component。并使用as创建类 Ext.define'MyApp.component.componentName',{….}
注意:您必须包含Ext.require'MyApp.component.componentName'来预加载代码。ExtJs提供了高度的可重用性,如果您对其核心非常了解的话 我想到了这些不同的概念: 班级制度 <> P>一个最强大的特性是,所有的事物都被组织成类层次结构,所以本质上,设计哲学与java或C++的相似。 例如,考虑到你的网格从不显示标题。你会写:
Ext.define('HeadlessGrid', {
extend: 'Ext.grid.Panel',
hideHeaders: true,
});
因此HeadlesGrid继承了Ext.grid.Panel,只是修改了它的hideHeaders配置。您可以更改组件的许多其他配置,也可以通过重写其方法来更改其行为
有时,您不希望对Ext类进行子类化,而是希望Ext类本身发生更改
比如说:
Ext.override( Ext.grid.Panel, {
hideHeaders: true,
});
意味着默认情况下,所有网格组件都不会显示标题
名称空间
“库”的概念可以通过名称空间实现。因此,要继续上一个示例,您可能需要:
Ext.define('Ext.Juice.HeadlessGrid', {
extend: 'Ext.grid.Panel',
hideHeaders: true,
});
现在HeadlessGrid属于Ext.Juice名称空间
您可以这样设置类加载器:
Ext.Loader.setPath('Ext.Juice', '../../libs/Juice');
现在,该文件夹下的任何类都可以被您编写的任何应用程序重用
插件
插件允许您通过组合而不是继承来扩展可见组件。因此,将此插件添加到任何网格将隐藏标题:
Ext.define("Ext.plugin.Decapitator", {
extend : "Ext.AbstractPlugin",
alias : "plugin.decapitator",
init : function( aPanel ) {
aPanel.hideHeaders = true;
},
});
混血儿
mixin允许您将类混合在一起,非常类似于多重继承
文档中的以下代码混合了CanSing类和Musitor类
如果您非常了解ExtJs的核心,那么ExtJs提供了高度的可重用性 我想到了这些不同的概念: 班级制度 <> P>一个最强大的特性是,所有的事物都被组织成类层次结构,所以本质上,设计哲学与java或C++的相似。 例如,考虑到你的网格从不显示标题。你会写:
Ext.define('HeadlessGrid', {
extend: 'Ext.grid.Panel',
hideHeaders: true,
});
因此HeadlesGrid继承了Ext.grid.Panel,只是修改了它的hideHeaders配置。您可以更改组件的许多其他配置,也可以通过重写其方法来更改其行为
有时,您不希望对Ext类进行子类化,而是希望Ext类本身发生更改
比如说:
Ext.override( Ext.grid.Panel, {
hideHeaders: true,
});
意味着默认情况下,所有网格组件都不会显示标题
名称空间
“库”的概念可以通过名称空间实现。因此,要继续上一个示例,您可能需要:
Ext.define('Ext.Juice.HeadlessGrid', {
extend: 'Ext.grid.Panel',
hideHeaders: true,
});
现在HeadlessGrid属于Ext.Juice名称空间
您可以这样设置类加载器:
Ext.Loader.setPath('Ext.Juice', '../../libs/Juice');
现在,该文件夹下的任何类都可以被您编写的任何应用程序重用
插件
插件允许您通过组合而不是继承来扩展可见组件。因此,将此插件添加到任何网格将隐藏标题:
Ext.define("Ext.plugin.Decapitator", {
extend : "Ext.AbstractPlugin",
alias : "plugin.decapitator",
init : function( aPanel ) {
aPanel.hideHeaders = true;
},
});
混血儿
mixin允许您将类混合在一起,非常类似于多重继承
文档中的以下代码混合了CanSing类和Musitor类
嗨,马赫,我是Ext JS的新手。你能给我举个小例子吗?嗨,马赫,我是新来的
n Ext JS。你能给我举个同样的小例子吗?Raj是问题的所有者,而不是Mchl;Raj是问题的所有者,而不是Mchl;非常感谢lzhaki。这对我很有用。谢谢!!正是我想要的。非常感谢你,lzhaki。这对我很有用。谢谢!!正是我想要的。