要是在Ext框架中没有相应的功能,我想许多用户都会自己写一套程序去实现。有一些功能是根据他们的程序而开发的,有些则是通用的,这样其他用户可能就会对此感兴趣。
嗯~我们有了想法了,是需要写一写新的代码,相关的步骤我也懂得,可能面临一个问题,究竟是写扩展(Extension)还是写插件(Plugin)呢?
扩展与插件
我们把两样东西放在一起讨论,可以明确它们之间是有某种很相似的地方。相似的地方在于,它们都是对现有的库的功能进行 修改 或加入新的功能。
扩展与插件均不能独立使用;它们须依赖组件、类运行。
扩展
扩展(extension)在Ext中就是指衍生的子类。假设我们已经有一个附有一些方法的基类,现在欲加入新方法。我们可以框架的继承特性和JavaScript创建新类的语言特性组合新的一个类,包含基类的方法和加入的新方法。
我们这里进行Ext类的扩展。 首先执行函数Ext.extend返回一个新的类,这个类的名称就是新的变量名。 像下例:
MyExtension = Ext.extend(Ext.Panel, {/* 对象的新属性、新方法 */});
接着,我们需要实例化对象:
var myExtension = new MyExtension({/* 可选的配置项 */});
插件
插件不需要从任何Ext类为基础。尽管插件很多时候从Ext.util.Observable哪里扩展,但这不是必须的; 插件其实是可以很灵活的。如果这个插件是为某个组件服务的,就当然没有必要从现有的Ext类:panel,form,grid...写起。
举一个例子,说明如何创建插件:
MyPlugin = function() {/* 代码 */};
然后这样子使用:
var myPanel = new Ext.Panel({
plugins:[new MyPlugin({/* 可选的配置项 */})]
,// 其他myPanel的配置项
});
扩展还是插件?
这要看... 无论写扩展还是写插件都可以达到相同的效果。有的程序员就喜欢写插件,有的喜欢写扩展。总得来说,小一点的功能写成插件,复杂一点的可以写成扩展。插件可以轻松地从组件上移除,扩展就和程序联系很紧密。
总结
* 一个扩展就是一个新名字出现的一个新类,它是以某个基类为基础,属于类库中的一员。扩展必须好像其他类那样实例化般地使用。
* 插件被插入到现有的某个类之中,可灵活地移除,它可以在类库中定义,然后伴随某个类实例化的时候参与运作。
分享到:
相关推荐
本压缩包文件中收集了基于ExtJs扩展的一些控件,这些控件能够进一步增强应用程序的功能和用户体验。 首先,我们来看看“ExtJs:收集基于ExtJs扩展的一些控件”。这个文件可能是对一些自定义或第三方开发的ExtJs控件...
- **Drag and Drop**:某些插件可能扩展了拖放功能,使用户能够轻松地在组件之间移动数据或元素。 - **Advanced Layouts**:可能包括一些自定义布局,如瀑布流布局或者可折叠面板布局,以适应复杂的页面设计需求。...
这个"EXTJS扩展例子集"显然是一个包含EXTJS3.0相关扩展组件的资源包,旨在帮助开发者理解和学习如何使用这些扩展。 在EXTJS中,扩展(Extensions)通常是指对框架原有功能的增强或定制,它们可以是新的组件、小部件...
通过实例化插件类、实现插件功能及将插件与组件关联,我们可以轻松地扩展和定制ExtJS组件,以满足项目需求。在学习和实践中,一定要结合实际案例去理解插件的运用,这样才能更好地掌握ExtJS插件开发技术。
extjs-ux, EXT JS 4的一些插件和扩展 插件和 EXT JS 4扩展 Ext.ux. aceeditor.Panel 演示( 简单): 链接演示( 流 语法): 链接演示:链接论坛:链接 Ext.ux. grid.feature.Tileview 演示:链接
dreamweaver Extjs 扩展插件语法提示 在dreamweaver中可以显示Extjs语法提示,提升开发效率,用起来很方便 分.zxp和.mxp两种扩展 cc2015,cs6均可用。 扩展安装需要到用Adobe Extension Manager,请自行在网上百度,...
ExtJS 插件(Plugins)是扩展框架功能的一种方式,它们为内置组件或布局添加额外的功能或行为。插件通常包含一组特定的配置选项,允许开发者定制其功能以满足项目需求。通过引入插件,开发者可以避免重复造轮子,...
在本文中,我们将详细介绍如何在Eclipse环境中安装适用于ExtJS 3.2的Spket插件,以便于JavaScript开发和代码提示。首先,让我们了解一下Eclipse、ExtJS和Spket这三个关键概念。 Eclipse是一款开源的集成开发环境...
5. **插件(Plugins)**:在ExtJS中,插件(`Ext.plugin.*`)用于扩展组件的功能。搜索插件可能包括对搜索历史的管理、多条件搜索支持、高亮匹配结果等特性。`SearchField.js`可能就包含了一个这样的插件,为搜索控件...
打印Grid插件是为了满足这种需求而设计的,它允许开发者扩展ExtJS4 Grid Panel的功能,使其具备打印能力。这个插件通常包含一系列方法和配置选项,用于自定义打印样式、布局以及要打印的数据范围。 在"extjs4-ux-...
"Extjs Grid 扩展实例"是一个演示如何增强Grid功能的实践案例,通过这个实例,我们可以学习到如何在原有Grid的基础上进行自定义扩展,实现更复杂的数据管理和用户交互。 首先,"extend"在编程中通常意味着类的继承...
- 插件是ExtJS中扩展组件功能的一种方式,允许开发者添加自定义行为或功能到现有的组件上。 - 开发插件通常涉及创建一个新的JavaScript文件,定义一个类并扩展自`Ext.util.Plugin`或`Ext.grid.Panel`等特定组件的...
3. **扩展功能**:利用ExtJS的可扩展性,开发自定义插件以满足特殊需求,如Markdown转换、LaTeX公式编辑等。 4. **性能优化**:根据实际场景调整编辑器的更新频率,减少不必要的DOM操作,提高应用性能。 总之,...
与ExtJS插件类似,Eclipse的jQuery插件增强了JavaScript编辑器,使开发者在编写jQuery代码时能获得智能提示,比如`eclipse-spket1.6.23_pojie.zip`。 5. **GEF (Graphical Editor Framework)**:`GEF-ALL-3.8.2.zip...
6. Events and Handlers(事件与处理器):多表头插件支持各种事件,如点击表头进行排序、折叠和展开操作等,开发者可以通过监听这些事件来实现自定义功能。 7. Customization(自定义):除了基本的多表头功能,还...
这个“ExtJs中datetimefield扩展”可能包含了一个完整的实现,无需其他依赖,可以直接运行并查看效果。 首先,我们要理解ExtJs的基础。ExtJs是一个JavaScript库,主要用于构建富客户端的Web应用。它提供了一套完整...
8. **自定义插件**:如果扩展涉及到新的功能,可能创建了一个自定义的ExtJS插件,这种插件可以附加到图表实例上,提供额外的行为或接口。 9. **性能优化**:在处理大量数据时,过滤操作可能会对性能产生影响。扩展...
在"extjs3.0部分插件代码"这个资料中,我们可以期待学习到关于ExtJS 3.0版本的一些关键插件的实现细节。 首先,让我们关注一下"spinner"这个文件名。在ExtJS中,Spinner是一个常见的组件,它通常用作数值输入框,...
描述中提到的"DateTime.js"可能是这个插件的核心文件,它可能包含了对原生ExtJS时间选择器的扩展,以支持秒的选择。在使用这个插件之前,确保项目已经引入了jQuery,因为这个插件可能依赖jQuery的一些功能。jQuery是...
本资源提供了一个完整的ExtJS4 htmleditor图片上传插件,包括前端和后端的实现代码,对于开发者来说是一份非常有价值的参考资料。 首先,我们来看`htmleditor`组件。在ExtJS4中,`Ext.form.field.HtmlEditor`是HTML...