3

这是 ExtJS形状类

Ext.define('Ext.chart.Shape', {

    singleton: true,

    circle: function (surface, opts) {
        return surface.add(Ext.apply({
            type: 'circle',
            x: opts.x,
            y: opts.y,
            stroke: null,
            radius: opts.radius
        }, opts));
    },
    ...
});

我想向这个类添加一个方法。例如:

myCircle: function (surface, opts) {
        return ...
},

我怎样才能做到这一点?

4

2 回答 2

3

我找到了答案。如果有人需要,这是解决方案:

Ext.define('MyShape', {
    override: 'Ext.chart.Shape',

    initialize: function() {
        this.callOverridden(arguments);
    },

    myCircle: function (surface, opts) {
        return ...
    }
});
于 2012-04-20T16:34:59.170 回答
2

您可以扩展以添加新函数,或覆盖以更改类上现有函数的行为。下面的链接是 sencha 文档中解释如何使用它们的详细信息。

延长

覆盖

扩展的示例实现:

Ext.define('yourCustomClassHere', {
    extend: 'Ext.chart.Shape',
    newFunctionName: function () {
       //your function here
    }
});
于 2012-04-20T10:23:32.363 回答