2016-10-05 25 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