Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ExtJS4中的可重用性_Extjs_Extjs4_Reusability - Fatal编程技术网

ExtJS4中的可重用性

ExtJS4中的可重用性,extjs,extjs4,reusability,Extjs,Extjs4,Reusability,我的项目中有很多可重用的代码,比如GUI、网格等等。。ExtJS4是否提供任何处理可重用代码的功能? 示例:Java具有可导入到任何项目中的库的功能。它是。。。。相同的。。。将要重用的组件放入库中,然后使用Ext.require将其导入到项目中。它是。。。。相同的。。。将要重用的组件放入库中,然后使用Ext.require将其导入到项目中。您可以使用Ext.define定义一个类,并使用Ext.create或使用xtypes在整个应用程序中重用它 如果您在其他项目中需要相同的屏幕/类,您可以复制

我的项目中有很多可重用的代码,比如GUI、网格等等。。ExtJS4是否提供任何处理可重用代码的功能?
示例: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。这对我很有用。谢谢!!正是我想要的。