我一直在研究一个与许多控制器一起成长的angular.js应用程序, 所有文件都包含在index.html文件中,即使当前视图不使用其中一个文件,这也适用于提供者和其他模块。
如何在index.html中仅根据路由调用所需的控制器?
我有一个带有许多脚本标记的index.html文件:
<script src="controller1.js"></script>
<script src="controller2.js"></script>
<script src="controller3.js"></script>
更新 更好地解释问题+答案。 http://weblogs.asp.net/dwahlin/archive/2013/05/22/dynamically-loading-controllers-and-views-with-angularjs-and-requirejs.aspx
答案 0 :(得分:1)
您正在寻找的是异步模块和可以从服务器中提取它们的加载器。 RequireJS是第一个浮现在脑海中的人。可以找到一个种子项目,其中包含如何与RequireJS和AngularJS结婚的示例{。{3}}。
答案 1 :(得分:0)
你应该根据路线或网址让角度为你处理。你最好的选择是查看routeProvider,文档是here。
用法如下:
$routeProvider.when('/Book/:bookId/ch/:chapterId', {
templateUrl: 'chapter.html',
controller: ChapterCntl
});
另一种选择是使用Ui路由器,它是routeprovider的扩展。这是project page。