当前位置: 首页 > 知识库问答 >
问题:

为什么 AngularJS 指令(属性等)在 WebStorm 8 中显示为“无效”?

柯正谊
2023-03-14

几个小时前我刚刚安装了WebStorm 8。我一直在写一些AngularJS的东西,我有一个相当烦人的小问题。AngularJS插件似乎部分工作,每当我键入ng时,我都会得到一个智能感知弹出窗口,显示所有各种ng-*属性。然而,这就是事情停止工作的地方。我似乎没有在.js文件或.html文件中获得更高级的智能感知功能。如果我在app.js中创建一个名为“app”的角度模块,那么当我在HTML文件中键入ng-app=时,“app”不会显示。此外,WebStorm 在编辑 html 文件时将所有 ng-* 属性突出显示为无效 html。其他 angularjs 功能似乎也不起作用。例如,我在绑定中没有任何智能感。

我在SO上发现了一些主题,表明我可能需要在项目设置中添加AngularJS作为JavaScript库...但是,关于如何正确执行此操作的说明为零。SO的主题非常简短,链接到WebStorm文档,该文档非常笼统,没有任何细节。究竟如何在WebStorm中将AngularJS设置为JS库?这真的有必要吗?

我应该注意到AngularJS确实作为一个插件出现在WebStorm的设置中,而且它被选中了。我基本上只有ng-*属性智能感知,但我没有得到WebStorm 8应该有的其他AngularJS增强支持。我已经安装和卸载了几次webstorm。不确定从这里该何去何从...

共有3个答案

伊裕
2023-03-14

你在HTML中引用了CDN中的AngularJS吗?如果是这样,只需下载angular并在HTML中引用本地副本。那么角度特征应该开始工作。或者,我认为你可以在你的html中点击angular CDN的路径,按Alt Enter并选择类似下载库的东西。

贝洲
2023-03-14

还要确保您有jebrains AngularJS插件

景星华
2023-03-14

要将Angular JS添加为项目库,请转到

Preferences > Project Settings > JavaScript > Libraries > Add

然后选择Angular目录将其添加。

我在苹果电脑上,但窗口应该大致相似。

你也可以

ctrl/cmd + shift + a

(转到任何地方)并键入库以到达同一位置。

注意:我通过https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js在我的主html文件中引用了Angular,它无需将其添加为库即可工作。

编辑:

来自Webstorm博客:如果您喜欢使用CDN,请将光标放在突出显示的库名称上,按Alt Enter键,然后下载库。这将在WebStorm的缓存中设置一个本地库(不在您的项目中),以便WebStorm可以访问AngularJS方法、指令等进行自动完成和文档查找。

 类似资料:
  • 问题内容: 根据API文档,伪指令的属性已弃用,因此将来,所有伪指令的行为都将使用当前默认值。 这消除了开发人员替换element指令的element的能力,而没有明显替代此功能的能力。 有关如何使用元素指令和不使用元素指令的示例,请参见此示例。 为什么不推荐使用此有用的属性而不进行替换? 问题答案: 在下一个主要的Angular版本中,将删除用于定义替换其所在元素的指令的标志。此功能具有难以理解

  • 我觉得奇怪/违反直觉的是,我们不必像这样指定选择器属性(尽管如果我们这样写,它仍然有效): 相反,我们只需要指定input属性,就可以神奇地得到指令: 我不喜欢这个“快捷方式”/语法糖/魔法,因为它看起来像是绑定到元素的属性,而不是实际发生的事情:我们绑定到属性指令的属性。因此,仅仅通过查看HTML,我们不能很容易地确定属性绑定到哪个元素/组件/指令。 是HTML元素属性还是带有输入属性的属性指令

  • 问题内容: ..如果您使用ng-model,则必须在某处有一个点。如果没有点,那么您就在做错误..” 但是,Angular.JS网站中的第一个示例(基础知识)似乎与此矛盾。是什么赋予了?自从MTV聚会以来,Angular.JS是否已更改,因为它现在对ng- model更宽容了? 问题答案: 在处理范围继承的复杂性时,这个小点非常重要。 该egghead.io视频“点”有一个很好的概述,做到这一点非

  • 问题内容: 我花了很多时间阅读AngularJS文档和一些教程,对于文档的难懂性,我感到很惊讶。 我有一个简单的,可以回答的问题,对于其他希望使用AngularJS的人也可能有用: 什么是AngularJS指令? 某个地方应该有一个简单,精确的指令定义,但是AngularJS网站提供了这些令人惊讶的无用定义: 在主页上: 指令是AngularJS中可用的独特而强大的功能。指令可让您发明特定于您的应

  • 下面我有一个方法,调用时应该在列表中显示arrayList元素的属性: 但是,当调用它时,会出现以下错误: 线程 “AWT-EventQueue-0” java.lang.ClassCastException: supermarketiteration2 中的异常。ShopJFrame$63 不能投射到 javax.swing.DefaultListModel 我该如何解决这个问题? 编辑** 如

  • 问题内容: 这是我的AngularJs指令。它原本希望在模板中显示div,但是在运行代码时却什么也没有显示。 这是HTML 这是AngularJS指令 这是演示 问题答案: 声明指令时,您使用了名称,但这是错误的。您应该使用,因为它将被转换为元素。 指令名称中的任何大写字母都将转换为连字符,因为元素中未使用大写字母。例如将翻译为。 正如其他人提到的,AngularJS使用以下标准化规则进行标准化: