Angular jsdoc 上的参数类型

Angular parameter types on jsdoc

我想知道 jsdoc 中 angular 指定内容的 "proper" 参数类型是什么?

例如。如果我有类似的东西:

/**
 * Some comment
 *
 * @param {WhatHere} $http
 * @param {WhatHere} $timeout
 */
function FooBar($http, $timeout) {
}

那些 $http 和 $timeout 的正确类型是什么,以便 IDE (Web/PhpStorm) 可以自动完成它们?

Jetbrains 产品不能通过分析代码来做到这一点,Angular 的依赖注入系统有太多魔力。但是,您可以通过至少在 Webstorm 和 PyCharm(可能还有 PHPStorm 和其他 Jetbrains 产品)中安装类型化库来实现:

  • 前往 Preferences > Languages & Frameworks > JavaScript > Libraries
  • 单击 Download… 按钮
  • Select Typescript community stubs 在左上角的下拉列表中(不用担心,它也适用于 JavaScript)
  • 找到 angular.js 并单击 Download and Install 按钮
  • 单击 Manage Scopes… 按钮并通过单击第二列并选择 angular.js-DefinitelyTyped 将 angular.js 添加到您的项目。

现在您可以像这样注释您的代码:

/**
 * @param {$http} $http
 * @param {$timeout} $timeout
 */
function FooBar($http, $timeout) {
}

请注意,此技巧适用于所有具有可用 TypeScript 社区存根的流行库!

我将补充 Blaise 的回答,因为库名称已更改,现在是:angularjs-DefinitelyTyped。此外,查看 angularjs-DefinitelyTyped doc 以了解要指定的类型,例如:


(来源:joxi.ru