Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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
Javascript 将子项连接到父项_Javascript_Oop_Extjs_Extjs4.2 - Fatal编程技术网

Javascript 将子项连接到父项

Javascript 将子项连接到父项,javascript,oop,extjs,extjs4.2,Javascript,Oop,Extjs,Extjs4.2,我在Sencha的网站上找不到任何涉及以下场景的文档: 立方体基类 以下两个版本中,哪一个是将新属性连接到现有属性的标准方法?两者的工作方式相同,但我觉得A版更有意义 十二面体子类 版本A 版本B 工作示例 Ext.onReadyfunction{ Ext.ns'example.Ext'; Ext.define'example.Ext.Cube'{ 双方:[ "一",, “两个”, "三",, "四",, "五",, “六” ], 滚动:功能{ 返回这个.sides[Math.floorMat

我在Sencha的网站上找不到任何涉及以下场景的文档:

立方体基类 以下两个版本中,哪一个是将新属性连接到现有属性的标准方法?两者的工作方式相同,但我觉得A版更有意义

十二面体子类 版本A 版本B 工作示例 Ext.onReadyfunction{ Ext.ns'example.Ext'; Ext.define'example.Ext.Cube'{ 双方:[ "一",, “两个”, "三",, "四",, "五",, “六” ], 滚动:功能{ 返回这个.sides[Math.floorMath.random*this.sides.length]; } }; Ext.define'example.Ext.dodecaderon'{ 扩展:“example.ext.Cube”, 双方:[ “七”, "八",, “九”, “十”, “十一”, “十二” ], 构造函数:函数{ var me=这个; me.sides=me.superclass.sides.concatme.sides; me.callParentarguments; } }; var die12=Ext.create'example.Ext.Dodecahedron'; window.roll=函数{ var侧=模具12.1卷; var indefiniteTarticle=side.match/^[aeiou]?![n]/?“an”:“a”; document.getElementById'result'.innerHTML=Ext.String.format'yourolled{0}{1}',indefiniteTarticle,side; } }; .垂直{ 位置:绝对位置; 最高:50%; 左:0; 宽度:100%; } 掷骰子{ 背景:url'https://cdn4.iconfinder.com/data/icons/48x48-free-object-icons/48/Dice.png'0 0不重复;; 高度:48px; 宽度:48px; 填充:0; 边界:无; 大纲:无; } 结果{ 左边距:0.5em; }
Ext JS 5配置系统允许继承原型链接的配置。在4.x中,你必须自己动手


我建议使用像您的版本A这样的东西,从长远来看,这将不会那么痛苦。

可能的重复不是真的,我正在描述一种情况,我有一个自定义配置,我想知道是否可以在子类中重新定义属性以扩展超类的配置。我找不到描述我的场景的文档。
Ext.define('example.ext.Cube', {
    sides: [
        'one',
        'two',
        'three',
        'four',
        'five',
        'six']
});
Ext.define('example.ext.Dodecahedron', {
    extend: 'example.ext.Cube',
    sides: [
        'seven',
        'eight',
        'nine',
        'ten',
        'eleven',
        'twelve'],

    constructor: function () {
        var me = this;
        // Alternatively: Ext.apply(me.sides, me.superclass.sides);
        me.sides = me.superclass.sides.concat(me.sides);
        me.callParent(arguments);
    }
});
Ext.define('example.ext.Dodecahedron', {
    extend: 'example.ext.Cube',
    constructor: function () {
        var me = this;
        Ext.apply(me.sides, [
            'seven',
            'eight',
            'nine',
            'ten',
            'eleven',
            'twelve']);
        me.callParent(arguments);
    }
});