【发布时间】:2017-07-29 01:15:50
【问题描述】:
在渲染视图时,我的 Angular UI 路由项目遇到了问题。我必须制作两个 router.js 文件。同一个项目中是否可以有两个 router.js 文件。这样做有什么坏处?
【问题讨论】:
-
你可以,它们将被“合并”并被应用程序视为一个。
标签: jquery angularjs asp.net-mvc angular-ui-router
在渲染视图时,我的 Angular UI 路由项目遇到了问题。我必须制作两个 router.js 文件。同一个项目中是否可以有两个 router.js 文件。这样做有什么坏处?
【问题讨论】:
标签: jquery angularjs asp.net-mvc angular-ui-router
是的,您可以拥有多个路由文件,但这取决于需要。每个模块可以有单独的路由文件
【讨论】:
module 或app 名称。
您可以创建多个路由文件并在 app.js 中声明它们
创建文件 route1.js 和 route2.js(在路由目录下)并添加到 app.js 中,如下:
var routes1 = require('./routes/routes1');
var routes2 = require('./routes/routes2');
定义路线:
app.use('/one',routes1);
app.use('/two',routes2);
现在http://something.com/one/myroutename类型的api调用将被重定向到route1.js,http://something.com/two/myroutename将被重定向到route2.js
【讨论】:
是的,你可以。这是我通常做的。每个组件/视图都有单独的路由文件。请记住将这些添加到您的 index.html 中。
app.js
angular.module('App', ['App.Configs']);
angular.module('App.Configs', []);
routeOne.route.js
angular.module('App.Configs')
.config(['$routeProvider',
function ($routeProvider) {
$routeProvider
.when('/routeOne', {
template: '<route-one></reoute-one>',
caseInsensitiveMatch: true,
})
.otherwise({
redirectTo: '/'
})
}]);
routeTwo.route.js
angular.module('App.Configs')
.config(['$routeProvider',
function ($routeProvider) {
$routeProvider
.when('/routeTwo', {
template: '<route-two></reoute-two>',
caseInsensitiveMatch: true,
})
.otherwise({
redirectTo: '/'
})
}]);
【讨论】: