Я хотел бы создать компонент, подобный этому:
import { Component, OnInit } from '@angular/core';
@Component({
selector: '[appTest]', // <-- attribute selector
templateUrl: './test.component.html',
styleUrls: ['./test.component.scss']
})
export class TestComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}
Обычно я бы использовал команду ng g c test
, которая генерирует компонент с селектором элемента
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.scss']
})
export class TestComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}
Но когда я пытаюсь указать селектор: ng g c test --selector="[appTest]"
выдает эту ошибку:
Schematic input does not validate against the Schema: {"style":"scss","spec":false,"selector":"[appTest]","name":"test","project":"client"}
Errors:
Data path ".selector" should match format "html-selector".
параметр --selector
cli проверяет регулярное выражение, которое не допускает эти селекторы атрибутов:
export const htmlSelectorRe = /^[a-zA-Z][.0-9a-zA-Z]*(:?-[a-zA-Z][.0-9a-zA-Z]*)*$/;
(ссылка: Angular ограничения именования компонентов - 'селектор [имя вашего компонента] недействителен' )
есть ли способ генерировать через cli компонент с селектором атрибута в скобках (например, [appTest]
)?