34

我正在检查角度路由。

http://www.bennadel.com/blog/2420-Mapping-AngularJS-Routes-Onto-URL-Parameters-And-Client-Side-Events.htm

我看到的示例将所有路由都定义在同一个文件中。如何在不同的文件/模块中定义各种路由?

4

2 回答 2

57

在 AngularJS 中,路由是在配置块中定义的。每个 AngularJS 模块可以有多个配置块,您可以在每个配置块中定义路由。整个应用程序的最终路由是所有模块中定义的路由的总和。

在实践中,您可以这样做:

angular.module('myModule1', []).config(function($routeProvider){
  //define module-specific routes here
});

angular.module('myModule2', []).config(function($routeProvider){
  //define module-specific routes here
});

angular.module('myApp', ['myModule1', 'myModule2']).config(function($routeProvider){
  //define app-level routes here
});

关于文件分割——我想这在很大程度上取决于你如何在文件中分割 AngularJS 模块。我建议坚持一个文件等于一个模块的原则。

您可以在 angular-app 中看到所有这些都应用于更大规模的 Web 应用程序,努力为用 AngularJS 编写的非平凡应用程序构建参考:

在提到的应用程序中,您可以看到在多个文件中定义的路由,例如:

于 2013-04-28T08:43:33.263 回答
0

您可以使用不同的文件制作 Angular 应用程序,而无需指定它们,请按照以下步骤操作

第 1 步:获取完整网址

var url = window.location.pathname;

步骤 2单独对文件名进行排序

var filename = url.substring(url.lastIndexOf('/')+1);

步骤 3显示结果

alert(filename);

我在 w3schools 中完成了这个尝试它编辑器 http://www.w3schools.com/code/tryit.asp?filename=FDP3QTCP7V4E

于 2017-03-16T14:35:17.923 回答