1

J'essaie VS Code pour une application AngularJs. Très premier fichier et déjà quelque chose ne fonctionne pas, ce que je pensais être censé faire.

var myModule = angular.module("MyModule", ['ngRoute']); 

Ok, jusqu'ici tout va bien. Il m'a demandé de comprendre ce que «angulaire» est et j'ai heureusement cliqué sur l'option qui a placé une ligne <reference/> en haut du fichier.

Ok, que diriez-vous maintenant config ...

myModule.config(function($routeProvider) { 
    $routeProvider. 
}); 

Ok, il ne faut pas que j'avoir des suggestions sur ".Lorsque" à ce stade? Je ne. Je reçois "Aucune suggestion". au lieu.

Qu'est-ce que je fais mal?

J'ai même manuellement ajouté une autre balise <reference/> en haut, pointant vers le fichier angular-route.d.ts. Ça n'aide pas.

Merci!

Répondre

0

La différence est que dans votre cas angular est une variable disponible dans le monde (qui sera ajouté à l'objet window lorsque le script est chargé) et le $routeProvider est juste un nom de paramètre régulier.

Pour tous les objets globaux qui sont en quelque sorte «importés» (ou déclarés comme disponibles), VS Code détermine d'où cela provient probablement en utilisant les fichiers de définition TypeScript. Il est impossible que VS Code puisse comprendre que certains noms de paramètres proviennent du routeur angulaire. C'est juste un comportement angulaire spécifique qu'une fonction passée à la méthode config aura une dépendance angulaire injectée. Vous pouvez bien sûr écrire d'autres méthodes utilisant ce nom de paramètre. Juste en ayant un paramètre nommé comme ça, il ne serait pas correct de deviner le type.

Lorsque vous utilisez tapuscrit, vous pouvez déclarer ces types de paramètres afin que vous recevez le soutien de votre IDE:

myModule.config(function($routeProvider: angular.route.IRouteProvider) { 
    // $routeProvider. // auto-completion available here 
});