Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    369

    Accedere ad elementi interni alla classe

    Salve a tutti.

    Ho una classe di questo tipo

    Codice PHP:
    var MiaClasse = function(a,b){

    this.a;
    this.b;

    this.Metodo1 = function(){
       
    this.Metodo2();
    }

    this.Metodo2 = function(){

    }

    }

    var 
    istanza1 = new MiaClasse("a","b");
    istanza1.Metodo1(); 
    Il codice sopra riportato non funziona perchè all'interno di Metodo1 l'oggetto this fa riferimento proprio all'oggetto Metodo1 (se non erro). Però io ho bisogno di chiamare Metodo2 proprio dall'interno di Metodo1, come posso fare?

    Inoltre, se all'interno di Metodo1 creassi un oggetto e ad esso assegnassi un listener che come callback debba chiamare Metodo2, la cosa si complicherebbe ancora?

    Grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    mi sembra corretto, perche dici che non va? se ci metti un alert dentro metodo2 non compare? cmq this fa riferimento a MiaClasse

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    369


    ora va...

    però invece non risolvo la seconda situazione

    Codice PHP:
    var MiaClasse = function(a,b){ 

    this.a
    this.b

    this.Metodo1 = function(){
      var 
    oggetto = new altro_tipo_di_oggetto({
          
    id'prova',
          
    listeners: {
             
    click: function(){
                
    this.Metodo2(); 
             }
          }
      });


    this.Metodo2 = function(){ 





    var 
    istanza1 = new MiaClasse("a","b"); 
    istanza1.Metodo1(); 
    supponiamo che altro_tipo_di_oggetto sia inizializzabile così come ho dichiarato. Quello che importa è che il codice nella callback del listener arriva a seguito del click su quell'oggetto, ma poi da errore:

    object has no method Metodo2

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    369
    ho risolto

    scusate il disturbo, grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.