如果将包含控制器代码的javaScript动态添加到HTML dom中,则不加载控制器
下面是一个示例代码: 我在html正文的末尾有以下代码如果将包含控制器代码的javaScript动态添加到HTML dom中,则不加载控制器,javascript,html,angularjs,Javascript,Html,Angularjs,下面是一个示例代码: 我在html正文的末尾有以下代码 <script type="text/javascript"> var js = document.createElement("script"); js.src = "forms/dynamicForms/sampleFormController.js"; document.body.appendChild(js); angular.bootstrap(document, ['MyApp']);
<script type="text/javascript">
var js = document.createElement("script");
js.src = "forms/dynamicForms/sampleFormController.js";
document.body.appendChild(js);
angular.bootstrap(document, ['MyApp']);
</script>
var js=document.createElement(“脚本”);
js.src=“forms/dynamicForms/sampleFormController.js”;
document.body.appendChild(js);
引导(文档,['MyApp']);
当我运行我的应用程序时,找不到sampleFormController,若我在Chrome中检查body标签,脚本将作为子标签添加到body标签中
当我修改代码并添加超时时,它可以工作
<script type="text/javascript">
var js = document.createElement("script");
js.src = "forms/dynamicForms/sampleFormController.js";
document.body.appendChild(js);
setTimeout(myFunction, 2000);
function myFunction() {
angular.element(function() {
angular.bootstrap(document, ['MyApp']);
});
}
</script>
var js=document.createElement(“脚本”);
js.src=“forms/dynamicForms/sampleFormController.js”;
document.body.appendChild(js);
设置超时(myFunction,2000);
函数myFunction(){
元素(函数(){
引导(文档,['MyApp']);
});
}
有没有办法让我的第一个代码在不添加超时的情况下工作?您可以将脚本标记的onload属性设置为myFunction()
。有关更多信息和类似于下面修改的代码段的示例,请参阅。另外,请参见中的使用
类似地,您可以将onerror属性设置为用于在发生错误时处理案例的函数。因为这段代码是异步的,所以可以使用-see
var js=document.createElement(“脚本”);
js.src=”http://elliott.andrewz.org/data/sampleController.js";
document.body.appendChild(js);
js.onload=myFunction;
函数myFunction(){
元素(函数(){
引导(文档,['MyApp']);
});
}
您可以将脚本标记的onload属性设置为myFunction()
。有关更多信息和类似于下面修改的代码段的示例,请参阅。另外,请参见中的使用
类似地,您可以将onerror属性设置为用于在发生错误时处理案例的函数。因为这段代码是异步的,所以可以使用-see
var js=document.createElement(“脚本”);
js.src=”http://elliott.andrewz.org/data/sampleController.js";
document.body.appendChild(js);
js.onload=myFunction;
函数myFunction(){
元素(函数(){
引导(文档,['MyApp']);
});
}
requireJS符合您的要求requireJS符合您的要求
<script type="text/javascript">
var js = document.createElement("script");
js.src = "http://elliott.andrewz.org/data/sampleController.js";
document.body.appendChild(js);
js.onload = myFunction;
function myFunction() {
angular.element(function() {
angular.bootstrap(document, ['MyApp']);
});
}
</script>