如何为 Angular 风格指南禁用 tslint 规则:"The selector should be prefixed by <prefix>"?

How to disable tslint rule for Angular style guide: "The selector should be prefixed by <prefix>"?

我对某些组件进行了 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:

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

对于 @Component 你需要使用 component-selector

例如:

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

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

您可以为组件和指令设置它

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

如果您使用的是命令行并且不经常生成 components/directives,您可以像这样使用命令行来执行此操作:

ng generate component my-component --prefix ""