4

我对“ browserLink”有一些错误, 请参见下文

<div ng-show="optList.editing && optList.BANKRUPT_FLG != 'Y' && (optList.OPT != 'TF' || (optList.OPT == 'TF' && optList.ONCESMART_ID == '-1'))">
  <input />
</div>

在此处输入图像描述

没关系..

<div ng-show="optList.editing && optList.BANKRUPT_FLG != 'Y' && (optList.OPT != 'TF' || (optList.OPT == 'TF' && optList.ONCESMART_ID == '-1'))">
  <input type="text"/>
</div>

在此处输入图像描述

当我添加type="text"输入标签时,我会得到

未捕获的错误:语法错误,无法识别的表达式:

div:has(input[type='text'])[ng-show='optList.editing && optList.BANKRUPT_FLG != 'Y' && (optList.OPT != 'TF' || (optList.OPT == ' TF' && optList.ONCESMART_ID == '-1'))']

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

有人可以告诉我,如何解决这个错误?

仅供参考:Google Chrome (48.0.2564.97)
Microsoft Visual Studio Professional 2015 (14.0.23107.156)
Web Essentials 2015.1 (1.0.203)

4

2 回答 2

12

浏览器链接中存在导致此问题的错误。您应该能够通过向<div>标签添加 ID 属性来解决它。

Browser Link 创建 jQuery 表达式来尝试唯一标识页面中的标签。在这种情况下,它尝试使用 ng-show 表达式,因为该标签的其他任何内容都不够独特。但是 ng-show 表达式显然对于这个目的来说太复杂了。由于这个原因,它应该被忽略,但不知何故,它击败了应该取消资格的检查。

浏览器链接宁愿使用唯一的 ID 或类(如果存在)。通过提供它,您可以防止它考虑 ng-show 属性。

于 2016-03-04T17:07:38.527 回答
2

我没有 DIV 标签,所以我只是在 Visual Studio 中禁用了浏览器链接,错误就消失了。有报告称,在 Visual Studio 中运行 AngularJS 应用程序时,浏览器链接会导致问题。

要禁用,只需取消选中“启用浏览器链接”选项。

在此处输入图像描述

我被指出了这个解决方案,这里的答案中有更多细节:ng-show > 10 throws syntax error (VS browser link)

于 2018-02-20T16:11:46.033 回答