Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Javascript - [OOP] Varibaile di classe padre
Forum - Javascript - [OOP] Varibaile di classe padre

Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 5:02
Domenica, 14/10/2012
Salve, mi trovo in una situazione in cui ho sviluppato una classe mediante
Codice sorgente - presumibilmente Javascript

  1. function c(n, y) {
  2.         this.y=y;
  3.         this.m=1;
  4.         this.d=1;
  5.         this.n=n;
  6.  
  7. //e relativi metodi
  8.  
  9. }


Sono stao obbligato ad inserire all'interno della stessa classe una porzione di codice jQuery
Codice sorgente - presumibilmente Javascript

  1. function c(n, y) {
  2.         this.y=y;
  3.         this.m=1;
  4.         this.d=1;
  5.         this.n=n;
  6.        
  7.         $("element").click(function(e) {
  8.                 console.log(this.name);//undefined
  9.         });
  10.  
  11. //e relativi metodi
  12.  
  13. }


Pero dall'interno della funzione jQuery non riesco ad accedere alle varibaili della classe padre in quanto this punta agli elementi selezionati da $("element"). Normalmente si passerebbe l'istanza come argomento della sub funzione ma in questo caso non posso e comunque non mi piace molto come soluzione. Che posso fare? Esiste una qualche specie di funzione parent? Google questa volta non ha saputo aiutarmi :(

PM Quote
Avatar
Qwertj (Dev Team)
Guru


Messaggi: 678
Iscritto: 30/05/2011

Segnala al moderatore
Postato alle 10:28
Domenica, 14/10/2012
Assegna this a una variabile di appoggio che ha scope anche nella function che passi a click
Codice sorgente - presumibilmente Javascript

  1. function c(n, y) {
  2.         this.y=y;
  3.         this.m=1;
  4.         this.d=1;
  5.         this.n=n;
  6.  
  7.        var me = this;
  8.         $("element").click(function(e) {
  9.                 console.log(me.name);//undefined
  10.         });
  11.  
  12.  
  13. }



Blog:
<coming soon>
Appalo:
http://www.appalo.it/
PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 11:38
Domenica, 14/10/2012
Ok è una soluzione, ma se ho piu istanze della classe quella variabile non va a sovrascriversi?

Edit:
Adesso che me l'hai detto pure tu ho provato e in effetti funziona in quanto la variabile non è globale visto che è istanziata nall'interno della classe.

Ultima modifica effettuata da Roby94 il 14/10/2012 alle 13:41
PM Quote