gpt4 book ai didi

javascript - PhpStorm 将现有变量标记为 "Unresolved Variable"

转载 作者:行者123 更新时间:2023-12-02 04:52:56 25 4
gpt4 key购买 nike

我在 PhpStorm 中使用 AngularJS。我对两者都是新手。
我的项目中有两个文件,index.htmlapp.js。在 index.html 中,我引用了 app.js 中定义的变量 store.products,但 PhpStorm 告诉我它无法解析该变量.

PhpStorm 对 product.name 没有问题。

代码在浏览器中运行没有问题,所以我认为一定是编辑器出了问题。或者,该错误可能只是浏览器忽略的一个细微错误。

index.html(问题出在 ng-repeat 指令中):

<!DOCTYPE html>
<html ng-app="gemStore">
<head lang="en">
(...)
</head>
<body ng-controller="StoreController as store">
<ul class="list-group">
<li class="list-group-item" ng-repeat="product in store.products">
<h3>
{{product.name}}
</h3>
</li>
</ul>

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-rc.3/angular.min.js"></script>
<script type="text/javascript" src="app.js"></script>
</body>
</html>

app.js:

(function() {
var app = angular.module('gemStore', []);

app.controller('StoreController', function() {
this.products = gems;
});

var gems = [
...
];

})();

我希望有人能发现错误。即使页面在浏览器中正确呈现,PhpStorm 显示错误也很烦人。

编辑:在app.js中,this.products没有标上"unused definition: products" 当我从 index.html 引用 store.products 时。所以 PhpStorm 可以通过某种方式看到正在使用该变量,但仍然无法从 index.html 的 Angular 看到它。

最佳答案

是的,PhpStorm 应该能够找到引用。我刚刚在这里测试了它并使用了我的 PhpStorm。

<html ng-app="store">
<body ng-controller="StoreController as store"> <-- store is already app name.

您已将 Controller 别名和您的应用命名为相同的关键字 store。我认为这让 PhpStorm 感到困惑。尝试给 Controller 一个不同的别名。

如果还是不行,试试这个:

启动PhpStorm,点击菜单“File/Invalidate Cache”,选择“Invalidate and Restart”。

关于javascript - PhpStorm 将现有变量标记为 "Unresolved Variable",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26048336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com