我已经在Angular2中看到了指令,它们以两种似乎相同的方式被命名:
第一个@Directive({ selector: '[myDirective]' })
第二个@Directive({ selector: 'myDirective' })
两者有什么区别?
我也看过以下指令,这让我更加困惑
@Directive({
selector: "[ngModel][typeValidate]",
host: {
"(input)": "validate($event)"
}
})
有人可以阐明吗?
最佳答案
selector
装饰器的@Directive
属性是CSS selector-see "Directive Configuration" at the cheatsheet。并且,这样:
选择器[myDirective]
将所有具有属性myDirective
的元素匹配。
示例:<some-tag myDirective="doesnt matter"></some-tag>
选择器myDirective
匹配所有具有myDirective
作为标记的元素
示例:<myDirective></myDirective>
同样,[ngModel][typeValidate]
将所有具有属性ngModel
和myDirective
的元素匹配。
示例:<some-tag myDirective="a" ngModel="b"></some-tag>
关于angular - 命名指令时选择器的名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43234031/