在 Angular 指令中指定宿主元素类型

Specifying the host element type on an Angular Directive

我正在 Angular (2+) 中构建一个指令,我想将该指令限制为它可以应用到的元素类型。

是否有内置的 Angular 机制来指定我的指令只能应用于 <input /> 标记?还是我必须专门检查元素参考?

正如评论中已经提到的,您可以通过在指令的元数据中使用限制性 selector 来存档它:

@Directive({
   ...
   selector: 'input[fooDirective]',
   exportAs: 'fooDir'
   ...
})
export class FooDirective {
}