角度手动引导程序

时间:2017-03-21 11:26:00

标签: javascript angularjs

我可以添加像

这样的角度文件
var scriptElem= document.createElement("script");
            scriptElem.src="scripts/app.js?v="+ version;
            scriptElem.type = "text/javascript";
            document.body.appendChild(scriptElem);

我需要手动添加所有控制器,指令通过脚本和引导程序,但它不起作用。它根本不加载角度代码。我收到模块错误找不到。谢谢,

2 个答案:

答案 0 :(得分:2)

您需要先引导您的角度应用程序。如上所述,您想使用手动引导程序,然后可以使用angular.bootstrap()函数手动初始化您的角度应用程序。此函数将模块作为参数,应在angular.element(document).ready()函数中调用。当DOM准备好进行操作时,会触发angular.element(document).ready()函数。 例如

<html> 
<body> 
<div ng-controller="Ctrl"> Hello {{msg}}! </div> 
<script src="lib/angular.js"></script> 

<script> var app = angular.module('myApp', []); 
app.controller('Ctrl', function ($scope) { 
   $scope.msg = 'World'; }); //manual bootstrap process  a 
   angular.element(document).ready(function () { 
        angular.bootstrap(document, ['myApp']); 
   }); 
</script>

</body> 
</html>

注意- 1)手动引导您的应用程序时,不应使用ng-app指令。 2)您不应该混淆自动和手动引导应用程序的方式。 3)按照上述示例中的定义,在手动启动应用程序之前,先定义模块,控制器,服务等。

答案 1 :(得分:0)

请尝试以下代码它应该工作

var wrap = document.createElement('div');
    var scr = document.createElement('script');
    scr.src = scriptUrl;
    scr.type = 'text/javascript';
    wrap.appendChild(scr);
    document.body.appendChild(wrap);