2013-11-21 125 views
0

我有一個自定義指令,它添加了一些html。在ng-include中動態加載的AngularJS指令不起作用

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 
    }; 
}); 

該指令被裝載和使用,其通過包括ng-include動態加載的HTML。

<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文件(服務,模塊,控制器)動態加載使用NG-包括將無法工作

+0

中,加載控制器在包含的html fiels中運行良好。在1.2甚至沒有這個工作正確了。但爲什麼?有沒有解決方法? – oliholz