angularjs:如何禁用特定元素的指令

时间:2014-02-05 15:51:58

标签: javascript angularjs angularjs-directive highlight.js

我想展示一个如何使用指令的代码片段。但是,该指令存在于此应用程序中,所以当我有

<pre>
    <code>
        <bar-foo>bar foo</bar-foo>
    </code>
</pre>

我正在使用highlight.js,但angular并不关心并将指令应用于bar-foo元素。如何禁用该特定元素的指令?

2 个答案:

答案 0 :(得分:2)

您正在寻找ng-non-bindable

<pre ng-non-bindable>
    <code>
        <bar-foo>bar foo</bar-foo>
    </code>
</pre>

答案 1 :(得分:1)

我希望将属性添加到<bar-foo>元素<bar-foo data-is-disabled="{{true}}" >。在指令中,我将在link方法的最顶部添加:

if ($scope.$eval(attrs.isDisabled)) return ;` 

如果我需要确保在返回之前清除所有内容,我可以执行以下操作:

element.replaceWith('')