如何为Angular样式指南禁用tslint规则:“选择器应以<prefix>为前缀”?

时间:2019-06-13 20:04:00

标签: angular tslint codelyzer

我对某个组件进行了Angular测试,该组件使用了ng-bootstrap中的指令ngb-pagination

现在,在我的测试中,我对该组件进行了如下模拟:

// on next line I get: The selector should be prefixed by "<prefix>" (https://angular.io/guide/styleguide#style-02-07) (component-selector)
@Component({ template: ``, selector: 'ngb-pagination' })
class DummyNgPagination {
    // some data here, not relevant in to the question
}

在放置@Component批注的行中,我得到一个指向Style 02-07 tslint 错误。

我尝试通过执行以下操作来禁用该规则,但结果是相同的。

// tslint:disable-next-line:directive-selector
@Component({ template: ``, selector: 'ngb-pagination' })

如何为特定行禁用该规则?

PS:

2 个答案:

答案 0 :(得分:0)

规则directive-selector适用于@Directive装饰器。

对于@Component,您需要使用component-selector

例如:

// tslint:disable-next-line:component-selector
@Component({ template: ``, selector: 'ngb-pagination' })

答案 1 :(得分:0)

您可以在angular.json条目的scematics文件中进行设置,如下所示:

您可以同时为Components和指令设置

"schematics": {
    "@schematics/angular:component": {
      "prefix": ""
    },
    "@schematics/angular:directive": {
      "prefix": ""
    }
}

如果您使用的是命令行,并且不经常生成组件/指令,则可以像下面这样使用命令行:

ng generate component my-component --prefix ""