在指令AngularJS中编译指令

时间:2013-11-13 16:33:13

标签: javascript angularjs

我正在尝试在HighlightJS指令呈现的<pre>块上使用Markdown指令。

这是一个重新发现问题的掠夺者:
http://plnkr.co/edit/qZlMkjNZglV453caNphy?p=preview

在这个例子中:

<btf-markdown>
#Markdown directive
<pre hljs>

    angular.forEach($scope.items,function(item){
      console.log(item);
    });
</pre>
</btf-markdown>

我希望<pre>块被hljs解析但不会。

我是否必须手动调用内部指令的编译?

2 个答案:

答案 0 :(得分:1)

btford.markdown element.html(html);hljs覆盖var html = converter.makeHtml(element.text()); element.html(html);

所以而不是:

var html = converter.makeHtml(element.html());
element.html(html);

我认为你更喜欢:

element.text()

使用element.html()

切换hljs

所以你要转换整个html元素(包括你的element.text() - 不在{{1}}中)。

这是更新的plunker:http://plnkr.co/edit/cURJ1QRfJRheOxTvYc1p?p=preview

答案 1 :(得分:0)

我想指出基于btford工作的Angular Marked

  • 您可以将它用作服务,这意味着您可以解析控制器,指令中的字符串,以便后续处理,
  • 它支持一些Github Flavored Markdown,可以轻松创建表格see here