angularjs - jsdoc 上的 Angular 参数类型

标签 angularjs ide phpstorm webstorm jsdoc

我想知道 jsdoc 中 Angular 指定内容的“正确”参数类型是什么?

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

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

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

最佳答案

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

  • 转到首选项 > 语言和框架 > JavaScript >
  • 点击下载...按钮
  • 在左上角的下拉列表中选择 Typescript community stubs(别担心,它也适用于 JavaScript)
  • 找到 angular.js 并点击下载并安装按钮
  • 点击 Manage Scopes... 按钮并通过点击第二列并选择 angular.js-DefinitelyTyped 将 angular.js 添加到您的项目。

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

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

$http $timeout

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

关于angularjs - jsdoc 上的 Angular 参数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30539947/

相关文章:

angularjs - 303 重定向不适用于 Angular HTTP POST

ssh - Phpstorm 9 ssh session 身份验证取消

Emacs:启动时不加载模式

java - IntelliJ IDEA 14.1.4 中不支持 JSF

ide - PhpStorm emmet HTML 如何自动注释结束标记

javascript - PhpStorm 中 JavaScript 的第一行中断

php - 如何将文本与 phpstorm 或 webstorm 中的特定字符对齐?

javascript - 为什么我在执行 ng-include 后在 angularJS 中收到此错误?

javascript - Ionic 和 AngularJS - 拖动元素并四处移动 - 如何获得鼠标位置?

javascript - 为什么 ng-include 不工作?