无法通过 Angular 模板上的 Codelyzer 禁用 tslint 规则
Posted
技术标签:
【中文标题】无法通过 Angular 模板上的 Codelyzer 禁用 tslint 规则【英文标题】:Cannot disable tslint rule via Codelyzer on Angular Template 【发布时间】:2019-12-26 00:28:28 【问题描述】:我有一个需要通过传递索引来调用函数的 Angular 模板。有一个 Codelyzer 规则 "template-no-call-expression" 当我这样做时会抱怨。
我已尝试禁用 typescript 文件中的规则,但仍无法通过 lint 检查。这是一个错误,还是我做得不对?
/* tslint:disable: template-no-call-expression */
@Component(
...
【问题讨论】:
你在 tslint json 文件中有这个 不,它在组件文件中...我不想在整个项目中禁用它。 您是否在重新启动编辑器后尝试过?它也发生在我身上,重新启动编辑器后一切正常。 编辑器不是因素,tslint在命令行运行。 【参考方案1】:确保 tslint-disabling 是您的 component.ts 中的第一行(这意味着:在导入之上)!我遇到了同样的问题,在阅读了下面关于拉取请求的评论后,我意识到如果您将禁用放在 TS 的第 17 行,它将禁用对 html 文件中所有第 17 行以上的检查,但不会检查行1 - 16 :\
查看https://github.com/mgechev/codelyzer/pull/492的评论
【讨论】:
我对你的回答感到困惑 - 你没有在component.ts
文件中指定规则
在您的问题中,您将/* tslint:disable: template-no-call-expression */
放在TS 文件中的@Component 上方以禁用对相应HTML 的tslint 检查,对吗?解决方案是将/* tslint:disable: template-no-call-expression */
移动到 FIRST 规则 = TS 文件的行号。也许我对“行号”和“tslint 规则”都使用了“规则”这个词造成了混乱,对此感到抱歉:)
好的,我试试看。以上是关于无法通过 Angular 模板上的 Codelyzer 禁用 tslint 规则的主要内容,如果未能解决你的问题,请参考以下文章