Как отключить правило tslint для руководства по стилю Angular: "Селектор должен начинаться с префикса <prefix>"?

У меня есть угловой тест для некоторого компонента, который использует директиву 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 аннотация Я получаю ошибку tslint, указывающую на стиль 02-07.

Я попытался отключить правило, выполнив следующее, но результат тот же.

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

Как я могу отключить это правило для этой конкретной строки?

PS:

3 ответа

Решение

Правило directive-selector работает на @Directive декоратор.

Для @Component вам нужно использовать component-selector

Например:

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

Удалить правило префикса из .eslintrc.json

Вы можете установить это внутри вашего angular.json файл внутри scematics запись вроде так:

Вы можете установить его как для компонентов, так и для директив

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

И если вы используете командную строку и не генерируете компоненты / директивы часто, вы можете сделать это с помощью командной строки следующим образом:

ng generate component my-component --prefix ""

Другие вопросы по тегам