AngularJS渲染过程

时间:2016-03-23 21:22:25

标签: javascript jquery html angularjs

我在一个不太好的JS项目中工作,使用JQuery函数进行页面渲染。

$("#sameID").html(data);

使用这个,这里的人可以加载.html页面(我知道,非常糟糕,但现在不能改变)

因此,使用此函数,脚本会在以下html页面上发出get请求:

的test.html

<div ng-app="myApp">
    <h2>Todo {{1 + 1}}!</h2>
</div>
<script src="angular.js"></script>
<script src="index.js"></script>

index.js

app = angular.module('myApp', []);

但如果删除<div ng-app="myApp">,我就会遇到此错误。

Error: [$injector:nomod] Module 'myApp' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

2 个答案:

答案 0 :(得分:0)

您必须使用angular.bootstrap动态引导您的模块:

<div id="sameID"></div>
<script>
  $(function() {
    var hardCodedHtml = "<div><h2>Todo {{1 + 1}}!</h2></div>";
    var parentElement = $('#sameID');
    parentElement.html(hardCodedHtml);
    angular.bootstrap(parentElement[0], ['myApp']);
  });
</script>

正在运行示例:https://plnkr.co/edit/D3B72neDa8uIDFpAlVcr?p=preview

答案 1 :(得分:0)

通过以下方式创建Angular模块:

var app = angular.module('myApp', [
  //dependencies..
}]);

通过以下方式检索模块:

var app = angular.module('myApp');

来自Angular docs

  

创建与检索

     

请注意使用angular.module('myModule', [])将创建   模块myModule并覆盖任何名为myModule的现有模块。使用   angular.module('myModule')检索现有模块。