Angular 部分路由定义而不是 app.js
Angular routing definitions in partials instead of app.js
我最近使用 Angular 种子项目 (https://github.com/angular/angular-seed/) 开始了一个新项目,我发现了一些奇怪的事情。我对 Angular 很陌生,但在我做的所有教程中,路由部分总是在 "main" JS 文件中(通常命名为 app.js)。然而,在这个 "seed project" 中,app.js 中唯一的路由定义是:
config(['$routeProvider', function($routeProvider) { $routeProvider.otherwise({redirectTo: '/view1'});}]);
其他路由定义在每个 partials Js 文件中(在控制器内)通过示例文件 view1/view1.js :
angular.module('myApp.view1', ['ngRoute'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/view1', {
templateUrl: 'view1/view1.html',
controller: 'View1Ctrl'
});
}])
和view2/view2.js :
angular.module('myApp.view2', ['ngRoute'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/view2', {
templateUrl: 'view2/view2.html',
controller: 'View2Ctrl'
});
}])
所以我明白,因为所有的 Js 文件都被正确包含,所以结果就像所有路由都在 app.js 中完成一样,但我想知道为什么它的结构是这样的。 angular 种子是 Angular 的 "best practices" 种子。所以这是我的问题,在每个部分 JS 文件中拆分路由定义而不是在 app.js 中定义所有内容是否被认为是一种好的做法?为什么?
谢谢你们! :)
你可以使用这两种方法,两种方法都是正确的,我认为使用其中一种方法没有比组织代码更多的优势,它甚至不会影响你的应用程序的性能.
对于小型演示应用程序(教程)更容易将所有路由放在一起,但对于现实生活中的大型或可扩展应用程序,angular 种子中使用的方法似乎更加集中,您将控制器、路由器放在一起和文件夹(模块)中的视图
我最近使用 Angular 种子项目 (https://github.com/angular/angular-seed/) 开始了一个新项目,我发现了一些奇怪的事情。我对 Angular 很陌生,但在我做的所有教程中,路由部分总是在 "main" JS 文件中(通常命名为 app.js)。然而,在这个 "seed project" 中,app.js 中唯一的路由定义是:
config(['$routeProvider', function($routeProvider) { $routeProvider.otherwise({redirectTo: '/view1'});}]);
其他路由定义在每个 partials Js 文件中(在控制器内)通过示例文件 view1/view1.js :
angular.module('myApp.view1', ['ngRoute'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/view1', {
templateUrl: 'view1/view1.html',
controller: 'View1Ctrl'
});
}])
和view2/view2.js :
angular.module('myApp.view2', ['ngRoute'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/view2', {
templateUrl: 'view2/view2.html',
controller: 'View2Ctrl'
});
}])
所以我明白,因为所有的 Js 文件都被正确包含,所以结果就像所有路由都在 app.js 中完成一样,但我想知道为什么它的结构是这样的。 angular 种子是 Angular 的 "best practices" 种子。所以这是我的问题,在每个部分 JS 文件中拆分路由定义而不是在 app.js 中定义所有内容是否被认为是一种好的做法?为什么?
谢谢你们! :)
你可以使用这两种方法,两种方法都是正确的,我认为使用其中一种方法没有比组织代码更多的优势,它甚至不会影响你的应用程序的性能. 对于小型演示应用程序(教程)更容易将所有路由放在一起,但对于现实生活中的大型或可扩展应用程序,angular 种子中使用的方法似乎更加集中,您将控制器、路由器放在一起和文件夹(模块)中的视图