0 0

ExtJs的继承和组件的扩展问题5

用4的语法来表达:
Ext.define('myComponent',{
    extend:'Ext.panel.Panel',
    //...code1 here... ,
    Ext.apply(this,{
        //...code2 here... ,

        this.callParent(arguments);
    });
});


写在code1和code2处的,如果是配置项,当扩展的组件被实例化出来,有什么区别?如果需要添加一个自定义的组件内置函数,应该写在哪里?最后的this.callParent(arguments);有什么意义?是必须的吗?
EXT 
2014年5月10日 22:52

4个答案 按时间排序 按投票排序

0 0

Ext.define('component.public.AjaxStore', {
extend : 'Ext.data.JsonStore',
alias : 'ajaxStore',
constructor : function(config) {
config=config||{};
Ext.applyIf(config, {
proxy : {
type : 'ajax',
url : config.url ? config.url : null,
reader : {
type : 'json'
}
}
});
delete config.url;
this.callParent([config]);
},
});

this.callParent()是调用父组件的当前的this所在的方法
如当前的this在constructor 里面那么这里的callParent调用的就是
Ext.data.JsonStore的 constructor 方法

2014年5月23日 22:28
0 0

//定义组件Ext.some.component的预配置类MyComponent
MyComponent = Ext.extend(Ext.some.component, {
myDefault1: '..',
myDefault2: '..'
});


//注册成xtype以便延迟加载
Ext.reg('mycomponentxtype', MyComponent);


可作为扩展Ext.Component的起点
MyComponent = Ext.extend(Ext.some.component, {
    //缺省构造参数,可被自定义设置覆盖
    propA: 1,
 
    initComponent: function(){
       //在组件初始化期间调用的代码
 
        //因为配置对象应用到了“this”,所以属性可以在这里被覆盖,或者添加新的属性
        //(如items,tools,buttons)
        Ext.apply(this, {
            propA: 3
        });
 
       //调用父类代码之前        
 
        //调用父类构造函数(必须)
        MyComponent.superclass.initComponent.apply(this, arguments);
 
       //调用父类代码之后
        //如:设置事件处理和渲染组件
    },
 
    //覆盖其他父类方法
    onRender: function(){
 
        //调用父类代码之前
 
        //调用父类相应方法(必须)
        MyScope.superclass.onRender.apply(this, arguments);
 
        //调用父类代码之后
 
    }
});
 
//注册成xtype以便能够延迟加载
Ext.reg('mycomponentxtype', MyComponent);


不过exjs里面的有很很多扩展的插件 你可以看下他里面的文档

2014年5月12日 10:38
0 0

兄弟,你上面的语法就是错的啊、

2014年5月12日 08:44
0 0

代码不能运行,类似java 构造函数
public HAO(){
super
}

2014年5月12日 07:57

相关推荐

    ExtJs 带清空功能的日期组件

    在ExtJs框架中,日期组件(DateField)是用于用户输入日期的常见控件。然而,标准的ExtJs DateField并未内置...通过深入理解ExtJs的组件体系和MVC模式,我们可以灵活地扩展和定制任何控件,以满足不同业务场景的需求。

    Extjs4 combogrid扩展

    这些标签指明了我们正在处理的是ExtJS 4版本,涉及到了Combo和Grid两个核心组件,以及对它们进行扩展的方法。 在提供的压缩包文件中,有三个文件: 1. **GridComboBox.js**:这个文件很可能是实现combogrid扩展的...

    extjs多选 下拉框扩展

    总结起来,"extjs多选 下拉框扩展"是为了满足ExtJS应用中多选功能的需求,通过对原生ComboBox组件进行扩展和定制,实现了带有复选框的多选下拉框。这个扩展可能包括了新的配置项、模板修改、事件处理、数据模型、...

    EXTjs组件.pdf

    EXTJS提供了丰富的预定义组件,如Panel、Grid、Button等,开发者可以根据需求继承和扩展这些组件,创建自定义组件。组件之间可以通过嵌套形成层次结构,这种结构被称为组件层次结构。在EXTJS中,有一种特殊的组件...

    extjs6 datetimefield 扩展时间控件 分时秒控件

    在给定的场景下,"extjs6 datetimefield 扩展时间控件 分时秒控件"描述了一个针对EXTJS6的`datetimefield`组件的增强,目的是增加对小时、分钟和秒钟的单独选择功能。 EXTJS6是Sencha公司推出的一个强大的...

    Extjs4下拉多选扩展

    总结,ExtJS 4下拉多选扩展涉及到组件继承、配置项设置、Store管理、模板和渲染、事件处理以及API扩展等多个方面。通过这些知识点,开发者可以构建出功能丰富的多选下拉框,满足各种复杂场景的需求。在实践中,不断...

    使用OOP的方式扩展ExtJS UI组建 - 更新版

    - **兼容性和维护**:保持与旧版本的兼容性,以及方便未来的维护,是更新版组件扩展的重要考量。合理的命名规范、注释和文档可以帮助其他开发者理解和使用你的扩展。 在实际项目中,使用OOP方式扩展ExtJS组件可以...

    Extjs Grid 扩展实例

    ExtJS Grid是一个强大的数据展示组件,它在Web应用程序中用于显示和操作大量数据。Grid提供了丰富的功能,包括分页、排序、过滤、编辑等,是ExtJS库中的核心组件之一。"Extjs Grid 扩展实例"是一个演示如何增强Grid...

    ExtJS4下拉树组件

    在ExtJS4中,下拉树组件(TreeComboBox)是一种特殊的组合框,它结合了下拉列表和树形结构的功能,允许用户通过选择树节点来填充组合框的值。这种组件广泛应用于需要展示分层数据结构的应用场景中。 #### 二、核心...

    轻松搞定Extjs 带目录

    - GridPanel支持分组,以及与分组功能结合的组件扩展。 ### 知识点详细解读 Extjs教程涵盖了从基础概念到具体组件应用的全方位内容。它强调了JavaScript面向对象编程(OOP)在Extjs框架中的应用,并通过实例演示了...

    Extjs自定义组件-下拉树

    Extjs自定义组件—下拉树,不仅提升了用户体验,也展现了Extjs框架的强大扩展能力。通过本文的详细介绍,开发者可以掌握其实现细节,为自己的项目增添一个实用且美观的组件。无论是初学者还是经验丰富的开发者,都...

    Ext继承和扩展

    在JavaScript的世界里,ExtJS是一个强大的富客户端...总结,"Ext继承和扩展"是ExtJS开发中的核心技巧,它们帮助我们构建出高效、可维护的组件结构。理解和掌握这两个概念,对于提升ExtJS项目的质量和开发效率至关重要。

    extjs4.2 日期控件扩展带时分秒

    通过扩展ExtJS 4.2的日期控件,我们旨在创建一个新的控件,该控件不仅能够显示和选择日期,而且还能够选择具体的时间(小时、分钟、秒)。这将大大提高用户在填写表单时的灵活性,并且可以用于需要精确到秒级别的...

    extjs中dateField日期精确到时分秒的扩展控件

    DateField作为视图的一部分,我们可以通过继承EXTJS的内置类并覆盖或扩展其默认功能来创建我们的自定义组件。 1. **创建扩展类**: 首先,我们需要创建一个新的类,继承自EXTJS的`Ext.form.field.DateField`。在...

    extjs扩展年度控件,EXTJS里的时间控件的年度重写

    通过查看和分析这些代码,我们可以学习如何在EXTJS中扩展和定制控件。 总结来说,EXTJS扩展年度控件是一项涉及到组件继承、模板修改、事件处理和UI设计的任务。通过这样的定制,我们可以为用户提供更符合业务需求的...

    ExtJs.doc 扩展介绍 英文

    **Ext.extend() 与组件扩展** `Ext.extend()` 是 ExtJS 提供的面向对象继承机制,允许你创建新的类或者扩展已有的类。在 Ext2.x 及更早版本中,它是扩展内置类的主要方式。即使在 Ext2.x 之后,理解 `Ext.extend()`...

    无废话ExtJs 系列教程十八[继承:Extend]

    在"无废话ExtJS系列教程十八[继承:Extend]"中,我们主要关注的是ExtJS中的类继承机制,这是一个核心特性,它允许开发者创建可复用和可扩展的组件结构。在JavaScript中,继承是通过原型链实现的,而在ExtJS中,它被...

    extjs3.2、3.3 时间控件 日期控件扩展

    - 扩展通常通过继承原组件并重写或添加方法实现,例如,为DateTimeField添加时间范围限制或者自定义弹出日历的样式。 - `index.html`文件通常作为示例或测试页面,展示如何使用这些扩展的控件,开发者可以通过打开...

    ExtJs3.4 扩展的Tags控件

    ExtJs是一款广泛应用于Web前端开发的JavaScript库,它提供了丰富的组件和功能,使得开发者能够构建交互性强、用户体验优秀的Web应用程序。在本主题中,我们关注的是ExtJs3.4版本中的一个扩展——Tags控件。这个控件...

Global site tag (gtag.js) - Google Analytics