2013-11-21 3 views
0

У меня есть настраиваемая директива, которая добавляет некоторый html.Директива AngularJS динамически загружается динамически в ng-include не работает

myAppModule.directive('myDirective', function() { 
    var linker = function(scope, element) { 
     return element.html("<b>directive loaded</b>"); 
    }; 
    return { 
     restrict: "E", 
     rep1ace: true, 
     link: linker, 
     scope: false 
    }; 
}); 

Эта директива загружается и используется в динамически загружаемой HTML, который включен через ng-include.

<script type="text/javascript" src="dynamicscript.js"></script> 
<my-directive>...</my-directive> 

Но он не работает. Функция linker никогда не вызывается. Он работает, если я перемещаю загрузку сценария dynamicscript.js с включенного html на index.html.

Here is the Plunkr

+0

Я не думаю, что вы можете включить скрипты JS внутри угловых шаблонов. – AlwaysALearner

+0

Сценарий вызывается, и директива добавляется в модуль приложения. Но это не относится к '' – oliholz

+0

Это потому, что 'ngInclude' запускается после того, как Angular скомпилировал страницу. Бутстрапинг вручную может помочь. – AlwaysALearner

ответ

0

Все JS файлы должны быть включены в «index.html» JS файлы (службы, модули, контроллеры) загружаются динамически с помощью нг-включать не будут работать

+0

в угловом 1.1.5, загрузка контроллера в прилагаемые html-фильтры хорошо работала. В версии 1.2 это даже не работает. Но почему? Есть ли обходной путь? – oliholz

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