【问题标题】:VS Code doesn't complete $routeProviderVS Code 没有完成 $routeProvider
【发布时间】:2016-02-27 14:13:01
【问题描述】:

我正在为 AngularJs 应用程序试用 VS Code。非常第一个文件并且已经有些东西不工作了,我认为这是应该的。

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

好的,到目前为止一切顺利。它要求我弄清楚“角度”是什么,我高兴地点击了在文件顶部放置 <reference/> 行的选项。

好的,现在配置如何...

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

好的,我现在不应该得到“.when”的建议吗?我不。我得到“没有建议”。而是。

我做错了什么?

我什至在顶部手动添加了另一个 <reference/> 标签,将其指向 angular-route.d.ts 文件。没用。

谢谢!

【问题讨论】:

    标签: javascript angularjs typescript visual-studio-code typescript-typings


    【解决方案1】:

    不同之处在于,在您的情况下,angular 是一个全局可用变量(加载脚本时将添加到 window 对象中),而 $routeProvider 只是一个常规参数名称。

    对于所有以某种方式“导入”(或声明为可用)的全局对象,VS Code 通过使用 TypeScript 定义文件找出这可能来自哪里。 VS Code 无法确定某些参数名称来自角度路由器。这只是传递给config 方法的函数将注入一些角度依赖项的特定角度行为。你当然可以写一些其他的方法来使用这个参数名。

    function calcSquare($routeProvider) {
      return $routeProvider * $routeProvider;
    }
    

    仅仅通过这样命名的参数,猜测类型是不正确的。

    使用 TypeScript 时,您可以声明这些类型的参数,以便获得 IDE 的支持:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-08
      • 2019-09-08
      • 1970-01-01
      • 2022-08-12
      • 2021-10-30
      • 1970-01-01
      相关资源
      最近更新 更多