angularjs如何设置<script src =“controller”>取决于index.html </script>中的路由

时间:2013-09-21 15:30:36

标签: angularjs dynamic controllers

我一直在研究一个与许多控制器一起成长的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

2 个答案:

答案 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