为什么我们不能在Angular 2指令

时间:2017-04-24 07:41:56

标签: javascript angular angular-directive

我们可以使用Angular 2中的以下选择器创建指令

  1. 财产:selector:'[myDir]'
      消费:<h1 myDir></h1>
  2. 班级:selector:'.myDir'   消费:<h1 class="myDir"></h1>
  3. 元素:selector:'myDir'
      消费:<myDir></myDir>
  4. 那么为什么我们不能使用Id(#)

    创建指令
      selector : '#myDir'
    

2 个答案:

答案 0 :(得分:2)

我们无法使用 ID(#) css选择器声明角度指令,因为它限制了可重用性,这是组件/指令最重要的功能之一。

如果我们使用 #myDir 选择器声明指令,那么我们只能在页面上使用它一次,因为在w3c标准中明确提到没有两个ID属性可以在一致的情况下具有相同的值文档,不管携带它们的元素的类型。

有关详细信息,请参阅w3c draft

答案 1 :(得分:0)

不支持。 创建指令的唯一方法是通过唯一属性。

CSS选择器(ID)不是元素的有效标识符,无论如何它也不是HTML和CSS的唯一标识符。