繁体   English   中英

指令AngularJS中的编译指令

[英]compile directive inside directive AngularJS

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

这是一个重制问题的小伙子:
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解析,但是不会。

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

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()

因此,您要转换整个html元素(包括hljs不在element.text() )。

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

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

  • 您可以将其用作服务,这意味着您可以解析控制器,指令中的字符串,以进行后续处理,
  • 它支持一些Github Flavored Markdown ,可轻松创建表, 请参见此处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM