【问题标题】:'Unresolved variable' about some variable used just one line above (PHPStorm 2018.2.5)关于仅在上面一行中使用的某个变量的“未解析变量”(PHPStorm 2018.2.5)
【发布时间】:2018-11-19 09:48:42
【问题描述】:

我正在使用简单的代码来处理我的 IDE。我在 Angular 1.4、ES 5.1 下运行。

function myFunction() {
    var vm = this;
    vm.listResults = null;

    SomeService.someFunction()
        .then(function (result) {
            vm.listResults = result;

            if (vm.listResults.length > 0) {
                vm.selectCity(vm.listResults[0]);
            }
        });
}

vm.selectCity = function (city) {};

最后一个 if 语句引发警告并声明 vm.listResults 变量未解析。对selectCity 及其参数的调用也是如此。我不能 CTRL+CLICK 这三个,我真的不明白为什么。

我必须启用什么才能正确链接?

Languages & Frameworks > Javascript > Libraries 下,我检查了angular-DefinitelyTypedHTMLNode.js 核心,仅此而已。

是的,我可以禁用警告,但我不想这样做,我真的很想了解。

非常感谢您的帮助:)

【问题讨论】:

  • 无法使用提供的代码 sn-p 重新创建;请分享一个可用于重新创建问题的示例项目。请注意,将angular-DefinitelyTyped 添加到库中不会为您的项目启用角度支持,您需要在项目中包含angular.js 文件(调试版本,未压缩)
  • 添加 angular.js 文件并没有解决问题,但该项目是一个没有主条目的完整库(只是常见的控制器、指令、服务、过滤器......)。将库添加到自己的库中解决了我的问题,我从没想过这个oO

标签: javascript angularjs intellij-idea ide ecmascript-5


【解决方案1】:

所以基本上正如我刚刚回答的那样,我的项目就像我们许多其他项目(通用控制器/指令/服务/过滤器......)常用的一个大库。它的 package.json 中不包含 angularjs,因为这个库只是导入到已经加载它的项目中,所以我想这就是它不起作用的原因。

将同一个库添加到它自己的库中刚刚解决了我的问题 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 1970-01-01
    • 2016-01-04
    • 2016-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多