javascript - 部分中的 Angular 路由定义而不是 app.js

标签 javascript angularjs angularjs-routing

我最近使用 Angular Seed Project ( https://github.com/angular/angular-seed/ ) 启动了一个新项目,我注意到一些奇怪的事情。我对 Angular 很陌生,但在我所做的所有教程中,路由部分始终位于“主”JS 文件(通常名为 app.js)中。然而,在这个“种子项目”中,app.js 中唯一的路由定义是:

config(['$routeProvider', function($routeProvider) {  $routeProvider.otherwise({redirectTo: '/view1'});}]);

其他路由定义位于每个部分 Js 文件(在 Controller 内)中,示例文件 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 的“最佳实践”启动器。所以这是我的问题,在每个部分 JS 文件中分割路由定义而不是在 app.js 中定义所有内容是否被认为是一个好习惯?为什么?

谢谢你们! :)

最佳答案

您可以使用这两种方法,两者都是正确的,并且我认为使用其中一种或另一种并没有比代码的组织更多的优势,它甚至不会影响您的应用程序的性能。 对于小型演示应用程序(教程)来说,将所有路由放在一起更容易,但对于现实生活中的大型或可扩展应用程序, Angular 种子中使用的方法似乎更加集中,您可以将 Controller 、路由器和 View 保留在其中一个文件夹(模块)

关于javascript - 部分中的 Angular 路由定义而不是 app.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27894725/

相关文章:

javascript - 无法捕获通过 Jquery Ajax 发送的 $_POST/$_GET

javascript - Angular 中的全局保存按钮

javascript - 如何通过POST方法发送json文件并在servlet上接收

javascript - 错误 : Unknown provider - Karma, requirejs, Angular

javascript - AngularJS 否则函数将我重定向到错误的路线

javascript - 将变量从 javascript 传递到 php 以实现地理定位功能

javascript - request.url 没有在 NodeJS 中给出完整的 url

javascript - 你能通过 AJAX 将谷歌地图插入到页面中吗

javascript - Angularjs 路由将我重定向到默认页面

javascript - 在页面上以模式打开页面 url(Facebook 照片 URL)