Angular指令和具有相同名称的css类

时间:2014-06-13 09:13:58

标签: angularjs angularjs-directive

我有一种情况,其中angular directive和css类具有相同的名称。例如

<div class="abc" > ... </div>

我这个场景&#34; abc&#34;被解释为角度指令。如何使角度忽略&#34; abc&#34;在这种特殊情况下。

注意:我无法更改css类的名称或指令。

编辑:

更多细节:此处angular指令和css类均来自第三方,我不应对其进行更改。那么有没有办法不改变指令代码或类名?

2 个答案:

答案 0 :(得分:3)

默认情况下,angular指令仅适用于属性。

如果您的指令已经具有{ restrict: "C" }属性,则只需删除它。

来自angular $compile docs

  

限制

     

EACM子集的字符串,它将指令限制为特定的   指令声明风格。如果省略,则默认(仅属性)   使用。

     
      
  • E - 元素名称:
  •   
  • A - 属性   (默认):
  •   
  • C - 班级:
  •   
  • M - 评论:
  •   

创建终端指令

如果你不能改变css类和指令的名称,也许你可以在同一个元素上创建一个具有更高优先级的终端指令。

.directive('stop', function() {
  return {
    priority: 2000,
    terminal: true
  }
});

标记:

<div stop class="abc" > ... </div>

如果有任何需要编译的子元素指令,这将不起作用。

答案 1 :(得分:0)

阅读文档......

.directive('abc', function() {
    return {
        restrict: 'A'
    };
});