3 votes

Comment ajouter une méthode à un singleton dans ExtJS4 ?

C'est l'ExtJS Classe de forme :

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));
    },
    ...
});

Je veux ajouter une méthode à cette classe. Par exemple :

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

Comment puis-je le faire ?

3voto

Natasha Points 977

J'ai trouvé la réponse. Voici la solution si quelqu'un en a besoin :

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

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

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

2voto

Amalea Points 486

Vous pouvez l'étendre pour ajouter de nouvelles fonctions, ou la remplacer pour modifier le comportement des fonctions existantes sur une classe. Les liens ci-dessous renvoient aux détails de la documentation Sencha expliquant comment les utiliser.

Étendre le site

Remplacer

Exemple d'implémentation de extend :

Ext.define('yourCustomClassHere', {
    extend: 'Ext.chart.Shape',
    newFunctionName: function () {
       //your function here
    }
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X