2014-10-17 40 views
4

我試圖使用指令(指令的原始內容,而不是模板)的transclude內容作爲網格中行的HTML模板。AngularJS:如何獲取指令的未編譯transclude內容

<grid attrs="..."> 
    <action-column-template>...(html I need)...</action-column-template> 
</grid> 

的想法是,我需要的行動柱模板的原始HTML(未編譯,unbinded任何範圍)。

我不控制每一行的生成,所以我無法使用transclude(rowScope)手動將該操作模板綁定到每個行的作用域。我只需要它作爲純html(即「{{}}」和內部指令不變)。

從鏈接函數中運行transclude()fn會爲我提供transcluded內容,但會綁定到範圍並擴展內部指令。並且編譯函​​數的tElem參數的html()返回指令模板的HTML,而不是要被轉義的內容。

所以問題是:我可以在編譯,控制器,預鏈接或postLink函數中將指令的內容轉換爲未編譯的HTML嗎?

謝謝。

+0

你是否在編譯過程中嘗試'tElem.contents()'?當然是 – 2014-10-20 17:11:27

+0

。它返回指令模板的內容。 – cipak 2014-10-30 09:44:23

回答

4

設置terminal: true,並手動編譯指令。

+0

爲哪個指令設置'terminal:true'?並手動編譯哪個指令? – pilau 2018-01-09 15:39:26