IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

dédoubler le context (this) ?


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Zineb1987_UNI
    Inscrit en
    Juin 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 129
    Par défaut dédoubler le context (this) ?
    Bonjour à tous
    j'ai une methode de maClass "resizeColumn" dont j'ai besoin d'utiliser deux context a la fois alors que this reprensente un seul.
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    _resizeColumn:function () {
                            //ici je veux que this sera l'objet GridContainer qui sera redimentionne
                    	//recuperer l'id de la colonne redimmensionnee
                        var selecteur = "#" + this.currentColumn.getAttribute("idsouszone");
                         ........
                        //et ici je veux que this poite sur maClass pour appeller sa fonction setCssRule
                        // affecter la nouvelle valeur de la regle a la matrice css
                        this._setCssRule(selecteur, proprietes + valeur);
                    },
    et voila l'appel de la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dojo.connect(monGrid, "resizeColumnOff", null, this._resizeColumn);
    donc comment je peux regler le problème de plusieurs context ??

  2. #2
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    C'est impossible en l'état. Tur dois gérer deux variables (a minima le this et une autre).

    ERE

  3. #3
    Membre confirmé Avatar de Zineb1987_UNI
    Inscrit en
    Juin 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 129
    Par défaut
    Merci emmanuel.remy.
    c'est ca ce que j'ai fait, j'ai déclaré une variable js en dehors de maClass,et je l'initialise par this dans mon constructeur et il marche bien, mais n'est pas sécurise car n'importe qui peut la modifier car c'est une variable globale ?
    et Merci.

  4. #4
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    Tu peux simuler la portée d'une variable privée.
    Ce n'est pas du dojo mais du pur Javascript.

    ERE

  5. #5
    Membre confirmé Avatar de Zineb1987_UNI
    Inscrit en
    Juin 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 129
    Par défaut
    sachant que la porté de variable javascript se diffère selon un bloc de code,
    et dans mon cas j'ai une classe dojo dans un fichier .js,et ma variable est déclaré en dehors de ma classe c-à-d globale pour la classe, alors pour l'utilisateur de ma classe s'il a modifie la valeur de ma variable le traitement de la classe ne marchera plus.
    donc comment je peux interdire à l'utilisateur de la modifier?
    et Merci.

  6. #6
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    Crée tes variables privées dans le scope d'une fonction anonyme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    (function(){
     
     var privee= "foo";
      var privFunc = function(){
        return privee;
      }
     
     dojo.declare("A",null, {
           traitement: function() {
               var c = privFunc();
               ...
           }
       }
     );
    })();
     
    var a = new A();
    a.traitement();
    //a.privee=2;   <- ERREUR
    ERE

Discussions similaires

  1. [POO] Using $this when not in object context
    Par rugueux dans le forum Langage
    Réponses: 4
    Dernier message: 26/09/2011, 14h49
  2. Réponses: 7
    Dernier message: 16/07/2009, 08h13
  3. problème Name jdbc is not bound in this Context
    Par twist83 dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 19/11/2008, 18h30
  4. Fatal error: Using $this when not in object context
    Par lavande dans le forum Langage
    Réponses: 2
    Dernier message: 02/10/2008, 20h17
  5. [FOP] [ERROR] non-static variable this cannot be referenced from a static context
    Par cash3000 dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 05/05/2006, 16h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo