3

これは ExtJS Shape Classです:

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 に答える