2017-10-21 34 views
0

Je rencontre un peu de problèmes pour trouver comment écrire une définition de type pour le code suivant. Je suppose que la meilleure façon de le décrire est une classe statique qui contient un constructeur nommé. Je rencontre une erreur de génération Property 'implement' does not exist on type 'typeof IAjaxAdapter'.Définition typographique pour un constructeur sur une classe statique

Mon d.ts ressemble à ce moment, mais il est évidemment un peu mal

export class IAjaxAdapterInstance { 
    constructor(any: any); 
    ajax: (request: IAjaxRequest) => void; 
} 
export class IAjaxAdapter { 
    implement: IAjaxAdapterInstance; 
} 

Je ne sais pas si cela est possible, sinon je suppose que je pourrais tout type ... mais je espérait quelque chose.

Répondre

1

Il suffit de regarder les types, puisque vous utilisez implement comme une propriété statique qui fait référence à une classe plutôt que d'un objet, il doit taper si vous ajoutez un static et un typeof:

export class IAjaxAdapter { 
    static implement: typeof IAjaxAdapterInstance; 
} 
+0

Cela a fonctionné magnifiquement! De plus, je n'avais aucune idée que vous pouviez utiliser static et typeof dans un fichier de définition, yay learning! – k2snowman69