【问题标题】:Detect Typing errors in AngularJS tags检测 AngularJS 标签中的输入错误
【发布时间】:2017-05-29 20:54:25
【问题描述】:

我是 AngularJS 的新手,有一件事情困扰着我。在检测诸如“ng-重复”。例如,如果我输入

<tr ng-repeat="f in m.myAray" />(注意缺少的“r”)

而不是

<tr ng-repeat="f in m.myArray" />

我只看到没有表格行。我完全靠自己通过仔细查看源来找到原因。我不会在浏览器控制台窗口或任何地方得到任何线索。甚至 R# 也不会警告我。

我担心我会被抛回到没有“选项显式”的使用 VB6 进行编程的古老时代,在那个时代,寻找此类错误的原因很容易花费半天时间,只是因为有人在变量名。

我是否忽略了一些显而易见的事情?还是我只是一个习惯于依赖智能感知和 R# 解决每个问题的被宠坏的程序员?

【问题讨论】:

    标签: javascript angularjs resharper


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      对于调试AngularJS Batarang 允许您查看 Angular 应用程序中使用的范围。

      当然,它不会标记任何语法错误或错误命名的变量,但它至少可以让您确认指令的范围可以看到和使用哪些变量。从中您应该能够确定myAray 不存在于范围内,并且应该将其重命名为myArray(如您的示例中所示)。

      【讨论】:

      • 我知道这个扩展,但依赖它远非我想象的“对开发人员友好”的方式。我刚刚为 R# 人员创建了一个建议,以支持 AngularJS 指令中的智能感知 (youtrack.jetbrains.com/issue/RSRP-462599)。也许他们从中有所作为。随意点赞! :-)
      • 我投了票,它肯定有用。祝你好运!
      • 似乎 JetBrains 的人已经在上面了......看起来很有希望:youtrack.jetbrains.com/_persistent/…
      【解决方案3】:

      对于智能感知here的其中一个答案应该可以帮到你。

      【讨论】:

      • 我确实有智能感知在
      • 我不确定这是否可行。如果你看它是什么,ng-repeat 只是一个 HTML 属性(尽管角度引擎可以识别)。但是从这个意义上说,这样的声明实际上根本不是 angular,它们无法看到控制器范围或在其上声明的任何变量,反之亦然,angular uses 他们来操纵 DOM(如果这有意义!?)。
      • 我的问题实际上是:如果 ng-repeat 指令(或任何其他角度指令)没有按预期工作,即不显示任何内容,我应该如何找到错误?似乎无法在浏览器中调试 ng-repeat “表达式”,即设置断点或单步执行。那么唯一的方法就是仔细查看源文本并尝试找出原因?在现实生活中,我有时会有比变量名更复杂的表达式,所以我想我会花很多时间来追踪诸如此类的“琐碎”错误。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-12
      • 2014-09-03
      • 1970-01-01
      • 2017-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多