W3C standards
选择器应符合以下条件:
在CSS中,标识符(包括中的元素名、类和ID)
选择器)可以包含
-
仅字符[a-zA-Z0-9]和ISO 10646字符U+00A0及以上,加上连字符(-)和下划线(33;);
-
它们不能以数字、两个连字符或连字符后跟
数字
-
标识符还可以包含转义字符和任何ISO10646字符作为数字代码(请参阅下一项)。例如,标识符“B&“W”可以写为“B\&“W\?”或“B\26 W\3F”。
/^[a-zA-Z][.0-9a-zA-Z]*(:?-[a-zA-Z][.0-9a-zA-Z]*)*$/
selector
在创建文件之前命名。
ng generate component component-name
@angular/schematics
对于
component
命令并将组件名称参数传递给它。在使用它触发的指令集执行命令时
below line
验证选择器。
validateHtmlSelector(options.selector);
validation.ts
export const htmlSelectorRe = /^[a-zA-Z][.0-9a-zA-Z]*(:?-[a-zA-Z][.0-9a-zA-Z]*)*$/;
export function validateHtmlSelector(selector: string): void {
if (selector && !htmlSelectorRe.test(selector)) {
throw new SchematicsException(tags.oneLine`Selector (${selector})
is invalid.`);
}
}