最近,我开始了一个使用角种子项目(https://github.com/angular/angular-seed/)的新项目,我注意到了一些奇怪的事情。我对角很陌生,但是在我做的所有教程中,路由部分总是在“主”JS文件中(通常命名为app.js)。但是,在这个“种子项目”中,app.js中唯一的路由定义是:
config(['$routeProvider', function($routeProvider) { $routeProvider.otherwise({redirectTo: '/view1'});}]);通过示例文件view1 1/view1.js,其他路由定义在每个部分Js文件中(在控制器中):
angular.module('myApp.view1', ['ngRoute'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/view1', {
templateUrl: 'view1/view1.html',
controller: 'View1Ctrl'
});
}])和view2 2/view2.js:
angular.module('myApp.view2', ['ngRoute'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/view2', {
templateUrl: 'view2/view2.html',
controller: 'View2Ctrl'
});
}])因此,我理解,由于所有Js文件都被正确地包含了,所以结果就好像所有的路由都是用app.js完成的一样,但是我想知道为什么它的结构是这样的。角种子意味着要成为角的“最佳实践”的开端。因此,我的问题是,在每个JS文件中拆分路由定义,而不是定义app.js中的所有内容,这被认为是一种良好的实践吗?为什么?
谢谢各位!)
发布于 2015-01-12 03:25:09
您可以使用这两种方法,这两种方法都是正确的,我不认为使用其中一种或另一种方法比代码的组织更有优势,它甚至不会影响应用程序的性能。对于小型演示应用程序(教程),可以更容易地将所有路由放在一起,但对于实际的大型或可伸缩应用程序,角种子中使用的方法似乎更加集中,您可以将控制器、路由器和视图保存在一个文件夹(模块)中。
https://stackoverflow.com/questions/27894725
复制相似问题