如何为Angular多模块页面拆分文件
How to split files for Angular multiple modules page?
我已经按照这个答案在AngularJS中制作了多个模块,但当我将Angular代码拆分为多个js文件时,它不起作用。
引导程序.js
angular.bootstrap(document.getElementById("App2"),['namesList']);
HTML
<html>
<head>
<script src="components/angular/angular.js"></script>
<script src="scripts/module1.js"></script>
<script src="scripts/module2.js"></script>
<script src="scripts/bootstrap.js"></script>
</head>
<body>
<div id="App1" ng-app="shoppingCart" ng-controller="ShoppingCartController">
<h1>Your order</h1>
<div ng-repeat="item in items">
<span>{{item.product_name}}</span>
<span>{{item.price | currency}}</span>
<button ng-click="remove($index);">Remove</button>
</div>
</div>
<div id="App2" ng-app="namesList" ng-controller="NamesController">
<h1>List of Names</h1>
<div ng-repeat="_name in names">
<p>{{_name.username}}</p>
</div>
</div>
</body>
</html>
结果:第二个模块不工作。
内联script
<html>
<head>
<script src="components/angular/angular.js"></script>
<script src="scripts/module1.js"></script>
<script src="scripts/module2.js"></script>
</head>
<body>
<div id="App1" ng-app="shoppingCart" ng-controller="ShoppingCartController">
<h1>Your order</h1>
<div ng-repeat="item in items">
<span>{{item.product_name}}</span>
<span>{{item.price | currency}}</span>
<button ng-click="remove($index);">Remove</button>
</div>
</div>
<div id="App2" ng-app="namesList" ng-controller="NamesController">
<h1>List of Names</h1>
<div ng-repeat="_name in names">
<p>{{_name.username}}</p>
</div>
</div>
<script>
angular.bootstrap(document.getElementById("App2"),['namesList']);
</script>
</body>
</html>
结果:它起作用了。
你知道我错过了什么吗?
在第一种情况下,您将在加载dom之前执行bootstrap.js。这应该有效:
<html>
<head>
<script src="components/angular/angular.js"></script>
<script src="scripts/module1.js"></script>
<script src="scripts/module2.js"></script>
</head>
<body>
<div id="App1" ng-app="shoppingCart" ng-controller="ShoppingCartController">
<h1>Your order</h1>
<div ng-repeat="item in items">
<span>{{item.product_name}}</span>
<span>{{item.price | currency}}</span>
<button ng-click="remove($index);">Remove</button>
</div>
</div>
<div id="App2" ng-app="namesList" ng-controller="NamesController">
<h1>List of Names</h1>
<div ng-repeat="_name in names">
<p>{{_name.username}}</p>
</div>
</div>
<script src="scripts/bootstrap.js"></script>
</body>
</html>
或者,您可以将引导函数封装到文档中,并将bootstrap.js脚本保留在标题部分:
angular.element(document).ready(function() {
angular.bootstrap(document.getElementById("App2"),['namesList']);
});
相关文章:
- webpack代码拆分了handlerbs文件——结果是文件很大
- 将AngularJS控制器拆分为多个文件
- 使用JavaScript或jQuery拆分文件
- 如何在Gulp任务中拆分文件
- 如何拆分从 json 文件中读取的数据
- 读取制表符分隔的文件,逐行读取,而不是使用制表符分隔拆分每一行
- Typescript 0.9.1.1模块被拆分为几个.ts文件
- angular js:将一个大型控制器拆分为多个文件
- 加载静态HTML文件并按类拆分为数组
- KineticJS - 如何拆分对象和文件
- 如何在多个文件中拆分 JavaScript 对象定义
- 未捕获的语法错误:意外令牌非法 - 拆分文件时
- 拆分要使用角度上传的大文件
- 使用 require.js 将应用程序的 javascript 拆分为多个 JS 文件
- 拆分文件夹路径的字符串
- 是否可以将 JavaScript 拆分到多个文件并相互访问函数
- 如何为Angular多模块页面拆分文件
- 无法拆分文件并发送然后加入服务器
- 拆分文件输入字段的字符串
- 使用RequireJS拆分文件后,Backbone.js listenTo(model,'change'