2017-05-05 1 views
0

Je construis un api de repos en utilisant loopback.js J'ai récemment découvert ce npm resource. Alors je suis allé de l'avant et j'ai installé ces types dans mon projet.vscode loopback tapuscrit: problèmes avec intellisense

Mais il me manque quelque chose ou ces types ont des problèmes. Mon intellisense ne me montre pas tout. Laissez-moi illustrer avec un exemple.

Tout d'abord voici une définition de l'échantillon de l'PersistedModel du index.d.ts:

class PersistedModel extends Model { 

    static count(where?: any, callback?: (err: Error, count: number) => void): void; 

    static find(
        filter?: {fields?: string|any|any[]; 
        include?: string|any|any[]; limit?: number; order?: string; 
        skip?: number; where?: any; }, 
        callback?: (err: Error, models: any[]) => void): void;  
} 

Maintenant, permettez-dire que je définir une myModel variable de type PersistedModel

var myModel:PersistedModel = some_value; 

(some_value est également de type PersistedModel)

Lorsque j'écris myModel., je me attends code visual studio pour afficher la liste disponible de toutes les méthodes et propriétés de PersistedModel

Au lieu de cela il y a des méthodes bien clairement définies dans le fichier index.d.ts qui ne figurent pas dans la liste déroulante de IntelliSense. Dans l'exemple ci-dessus, la méthode find est manquante dans la liste déroulante IntelliSense

Est-ce un bogue dans vscode? un typage mal généré à partir du loopback ou suis-je en train de faire quelque chose de mal avec ma configuration (tapuscrit, vscode).

Est-ce que n'importe quel corps peut écrire une application de bouclage avec tapuscrit? Y a-t-il de la documentation avec les meilleures pratiques?

Nous vous remercions de votre attention et votre aide

Répondre

1

Les méthodes qui ne figurent pas dans la liste déroulante sont marqués comme static. La variable myModel que vous avez est une instance de PersistedModel, donc elle liste uniquement les méthodes d'instance. Si vous souhaitez accéder aux méthodes statiques, utilisez la référence de classe PersistedModel.find au lieu de la variable d'instance myModel.