2015-05-12 12 views
5

Non voglio istanziare una classe in ogni funzione. Come? Quale dovrebbe essere la migliore pratica per organizzarlo in una sintassi Typescript?Typescript & Jquery: qual è la procedura migliore per chiamare una classe nella funzione onclick di Jquery?

+1

Presumibilmente la 'data-variante' sarà diversa per ciascun elemento? Quindi è necessario ristrutturare l'oggetto 'Produtto' per leggere da una proprietà che si modifica o mantenere il modello corrente di creazione di un'istanza di una nuova classe per ogni valore impostato. –

+0

Sì, esattamente. Grazie. – marco

risposta

2

La soluzione migliore (credo) che puoi fare è ristrutturare la tua classe per restituire funzioni che faranno i tuoi desideri. Questo è un esempio di ciò che intendo:

var MyClass = function(){ 
    return { 
     Set: function(a, b, c){ 
      return [a, b, c].toString(); 
     }, 

     Modify: function(a){ 
      return a + ' .)'; 
     } 
    } 
}; 

$(function(){ 
    var mc = new MyClass(); 

    $('.a').on('click', function(){ 
     alert(mc.Modify($(this).data('variant'))); 
    }); 

    $('.b').on('click', function(){ 
     alert(mc.Modify($(this).data('variant'))); 
    }); 

}); 

Quindi, in questo modo si istanzia la classe una volta. Check the jsFiddle

+0

Grande, grazie mille. – marco

Problemi correlati