簡體   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