Come useresti dattilografo per migliorare il controllo del tipo e del tipo di controllo per le chiamate di funzione JQueryUI

StackOverflow https://stackoverflow.com//questions/12679888

  •  12-12-2019
  •  | 
  •  

Domanda

Quando si lavora con un widget JQuery UI, finisci spesso con qualcosa che segue questo modello:

$ ("# someid"). Individuato ("opzione", "poepition", valore);

C'è un buon modo per modellare questa interazione per ottenere un certo tipo di tipo utile controllata dal dattiloscritto?Tecnicamente hai probabilmente il metodo definito come questo:

Anteidget (OptionLiterAl: String, OptionName: String, OptionValue: QUALSIASI): JQuery;

(modellato dopo le definizioni del tipo UI jQuery fornite)

Quindi il valore dell'opzione è fondamentalmente "qualsiasi", non importa il nome dell'opzione.C'è un modo per sovraccaricare ulteriormente la definizione del tipo e magari fare qualche modello di corrispondenza su OptionName?Oppure ci sono dei piani per questo?

È stato utile?

Soluzione

Potresti voler scavare nell'esempio Ui JQuery,

http://www.typescriptlang.org/samples/#warship Che copre come estendere il tipo di interfaccia jQuery con metodi aggiuntivi.

Il tipo JQuery è un tipo di interfaccia e i tipi di interfaccia sono aperti in dittivettizzazione, il che significa che le unità di compilazione successive possono aggiungere membri al tipo.Il tuo esempio sarebbe stato scritto come,

interface JQuery {
    someWidget(optionLiteral: string, optionName: string, optionValue: any): JQuery
}
.

Per quanto riguarda il sovraccarico, i metodi possono essere sovraccaricati su tipo ma non valore.Il sovraccarico sui valori renderebbe un buon suggerimento sul sito Codeplex.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top