2016-10-05 5 views
0

Я хочу перекомпилировать/скомпилировать шаблон моего компонента. Я загружаю внешний модуль с помощью $ onInit, и все просто появляется, когда я перемещаюсь в другом месте на странице, а затем снова возвращаюсь к странице, загружающей модуль.Перекомпоновать угловой компонент JS?

Я думал, что, возможно, я смогу скомпилировать шаблон. Знаете ли вы, как я могу это сделать?


Edit:

Если я использую компиляции в моем коде, ничего не происходит

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» на угловой, как показано ниже:

$compile(templateContent)(scope); 

Найти на примере here

+0

нормально ... позволяет сказать, что у меня есть шаблон. Я хочу компилировать это. Где я должен добавить это в свой код? Или лучше создать переменную, ссылаться на нее как на мой шаблон, а затем компилировать (переменную) (область)? – julesrose

+0

Вы должны сделать это в своей директиве, как показано в приведенной в примере ссылке. Если вы можете поделиться скриптом или примером кода, это было бы полезно. Если вы считаете, что мой ответ помог вам, отметьте его как принятый ответ, чтобы мы могли работать по другим вопросам. – superUser

+0

Я также читал, что могу сделать компиляцию в директиве, но я использую компонент, никакой директивы ... – julesrose

Смежные вопросы