gpt4 book ai didi

angularjs - 如何使用 angular-ui-router 将我的路由配置拆分为多个文件?

转载 作者:行者123 更新时间:2023-12-04 18:33:18 26 4
gpt4 key购买 nike

目前我有一个这样的文件:

app.config([
'$locationProvider',
'$sceDelegateProvider',
'$sceProvider',
'$stateProvider',
($locationProvider,
$sceDelegateProvider,
$sceProvider,
$stateProvider) => {

$locationProvider.html5Mode(true);
$sceProvider.enabled(false);

var home = {
name: 'home',
//template: '<div data-ui-view></div>',
url: '/home/'
};

var homeAccess = {
name: 'home.access',
url: 'access',
views: {
'home@': {
templateUrl: 'app/access/partials/webapi.html'
}
},
onExit: ['accessService', (acs: IAccessService) => {
acs.clear();
}]
};



$stateProvider
.state(homeAccess)
.state(home);
}])

问题是我有很多州,现在已经增长到超过 1,200 行。

是否可以将 app.config 拆分为多个文件,如果可以,我该怎么做?

最佳答案

你可以看看这个以了解如何在 Angular 中构建你的代码
Best Practices Directory Structure .
您可以使用您的状态创建不同的文件,并将它们分隔在每个功能文件夹中。如果您不想按文件夹将它们分开,只需将它们放在单独的文件中即可。在每个文件中,您只需导出您注册为配置的功能。

这是主路由(home-route.js):

function stateConfig ($locationProvider, $sceDelegateProvider, $sceProvider, $stateProvider) {
$locationProvider.html5Mode(true);
$sceProvider.enabled(false);

var home = {
name: 'home',
template: 'Home',
url: '/home'
};



$stateProvider
.state(home);
}

module.exports = stateConfig;

这将是访问路径(home-access-route.js):
    function stateConfig ($locationProvider, $sceDelegateProvider, $sceProvider, $stateProvider) {
$locationProvider.html5Mode(true);
$sceProvider.enabled(false);

var homeAccess = {
name: 'home.access',
url: '/access',
template: 'Access',
parent: 'home'
};



$stateProvider
.state(homeAccess)
}

module.exports = stateConfig;

然后在您的模块/应用程序的 index.js 文件中,您将执行以下操作:
var TestsRoute  = require('./home-route.js');
var HomeAccessRoute = require('./home-access-route.js');

var app = angular.module('HomeAccess', []);

app.config(['$locationProvider', '$sceDelegateProvider', '$sceProvider', '$stateProvider', HomeRoute]);
app.config(['$locationProvider', '$sceDelegateProvider', '$sceProvider', '$stateProvider', HomeAccessRoute]);

module.exports = app.name

因此,在您初始化应用程序的地方,您将拥有您创建的所有单独模块并将它们注册为您的应用程序的依赖项

关于angularjs - 如何使用 angular-ui-router 将我的路由配置拆分为多个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36825285/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com