Angular 命名指令时的选择器名称

Angular 命名指令时的选择器名称,angular,angular2-directives,Angular,Angular2 Directives,我在Angular2中看到过指令,其命名方式有两种,似乎都是一样的: 第1个@指令({selector:'[myDirective]}) 第二个@指令({selector:'myDirective'}) 两者的区别是什么 我还看到了下面这样的指令,这让我更加困惑 @Directive({ selector: "[ngModel][typeValidate]", host: { "(input)": "validate($event)" } }) 任何人都

我在Angular2中看到过指令,其命名方式有两种,似乎都是一样的:

第1个
@指令({selector:'[myDirective]})

第二个
@指令({selector:'myDirective'})

两者的区别是什么

我还看到了下面这样的指令,这让我更加困惑

@Directive({
    selector: "[ngModel][typeValidate]",
    host: {
        "(input)": "validate($event)"
    }
})

任何人都可以解释一下?

指令
@装饰器的
选择器属性是--。因此:

  • 选择器
    [myDirective]
    匹配具有属性的所有元素。
    • 示例:
  • 选择器
    myDirective
    与标记为
    myDirective
    的所有元素匹配
    • 示例:
  • 类似地,
    [ngModel][typeValidate]
    匹配所有具有属性
    ngModel
    myDirective
    的元素。
    • 示例:

将选择器视为CSS选择器

指定一个CSS选择器,用于在 模板。支持的选择器包括元素、[attribute]、.class、, 和:不是()。不支持父子关系选择器

所以
myDirective
是一个元素选择器

 <myDirective></myDirective>
希望这有帮助

 <div myDirective=""></div>