如何编译由angular指令创建的角度脚本代码

时间:2016-05-12 06:41:01

标签: angularjs angularjs-directive

我刚创建了一个创建脚本文件的指令,并将该文件附加到html body元素。

但角度代码在该文件中不起作用。如果我编写的java脚本代码工作正常。

application.directive("dynamicScript",
function(service,$compile,$http,$rootScope){
    return {
        restrict:"E",
         terminal: true,
        scope:{

        },
        link:function(scope,element,attrs){

            //scope.scriptname = attrs.name;
            //service.setData(attrs.name);

            //$http.get('generatescript').then(function(response) {
                var scriptElem = angular.element(document.createElement('script'))
                scriptElem.attr("src", "./js/SAMPLEScript.js")
                scriptElem.attr("type", "text/javascript")
                //element.html('').append( $compile( scriptElem.contents() )( $rootScope ) );
                var ele = angular.element(document.getElementsByTagName("body")).append(scriptElem);
                $compile(scriptElem.contents())(scope);

            //});

        }
    }
});

SAMPLEScript.js包含无效的角度脚本代码。如何加载此文件当前工作。

1 个答案:

答案 0 :(得分:0)

您可以创建指令,如Angular jar文档中所示。它有助于避免显式编译,也可以直接使用编译功能。 https://docs.angularjs.org/api/ng/service/ $编译