2016-10-05 27 views
0

我想重新編譯/編譯我的組件的模板。我使用$ onInit加載了一個外部模塊,當我在頁面的其他地方導航,然後再回到加載模塊的頁面時,就會顯示出來。重新編譯angularJS組件?

我想我可能可以編譯模板。你知道我怎麼能做到這一點?


編輯:

如果我用我的代碼編譯,什麼都不會發生

controller: { 
$onInit(){ 
this.$ocLazyLoad.load('some.module.js'); 
} 
}, 

template: 
'<p>Sample text here</p>', 

compile: function (tElement, tAttrs) { 
    return function(scope) { 
     scope.widgetCenter = tAttrs.widgetCenter; 
    }; 

} 

回答

2

如果模板內容是一個變量 「templateContent」。您可以使用角的「$編譯」服務,如下圖所示:

$compile(templateContent)(scope); 

找到實例here

+0

確定...可以說,我有一個模板。我想$編譯它。我應該在哪裏添加這個代碼?還是創建一個變量,引用它作爲我的模板,然後$編譯(變量)(範圍)更好? – julesrose

+0

您應該在您的指令中執行此操作,如我給出的示例鏈接所示。如果你可以分享一個小提琴或一個示例代碼,它會很有幫助。如果您認爲我的回答對您有幫助,請將其標記爲已接受的答案,以便我們可以處理其他問題。 – superUser

+0

我也讀過,我可以在指令中做$編譯,但我使用的是組件,沒有指令... – julesrose