我们可以使用Angular 2中的以下选择器创建指令
selector:'[myDir]'
<h1 myDir></h1>
selector:'.myDir'
消费:<h1 class="myDir"></h1>
selector:'myDir'
<myDir></myDir>
那么为什么我们不能使用Id(#)
创建指令 selector : '#myDir'
答案 0 :(得分:2)
我们无法使用 ID(#) css选择器声明角度指令,因为它限制了可重用性,这是组件/指令最重要的功能之一。
如果我们使用 #myDir 选择器声明指令,那么我们只能在页面上使用它一次,因为在w3c标准中明确提到没有两个ID属性可以在一致的情况下具有相同的值文档,不管携带它们的元素的类型。
有关详细信息,请参阅w3c draft
答案 1 :(得分:0)
不支持。 创建指令的唯一方法是通过唯一属性。
CSS选择器(ID)不是元素的有效标识符,无论如何它也不是HTML和CSS的唯一标识符。