【发布时间】:2015-03-10 17:46:48
【问题描述】:
我有一个指令用于突出显示代码(语法突出显示)。有时,此文本包含花括号,并且 Angular 会尝试绑定它们。我怎样才能禁用该绑定:
app.directive('highlightJs', ['$timeout',function ($timeout) {
return {
restrict: 'AE',
link : function (scope,elem,$scope) {
$timeout(function(){
var x=elem[0].innerHTML;
elem[0].innerHTML='<pre><code>'+x+'</code></pre>';
console.log(x);
hljs.highlightBlock(elem[0]);
},0);
}
};
使用示例:
<highlight-js>
<img ng-src='{{url}}'/>
<highlight-js>
呈现为<img ng-src=""/> 而不是<img ng-src="{{url}}"/>
任何帮助都会很棒。
【问题讨论】:
-
看看这个earlier SO post,做一些类似的事情,涉及
code元素和ngNonBindable。 -
@JamesWing 我看到了,但是在指令中添加一个属性不起作用,如果我将它添加到我的自定义指令中,我的整个指令将无法编译。
-
能否将文本作为属性传入指令,所以是数据?
-
不以这种方式发送数据不会那么用户友好。
标签: angularjs angularjs-directive angular-directive