Ala*_*an2 5 angularjs angular-ui-router
目前我有这样一个文件:
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);
}])
Run Code Online (Sandbox Code Playgroud)
问题是,我有这么多州,现在已经发展到超过1,200行.
是否可以将app.config拆分为多个文件,如果是这样,我该怎么做?
您可以查看此内容,了解如何在Angular Best Practices目录结构中构建代码 .您可以使用状态创建不同的文件,并在每个功能文件夹中将它们分开.如果您不想按文件夹分隔它们,只需将它们放在单独的文件中即可.在每个文件中,您只需导出您注册为配置的功能.
这是本地路线(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;
Run Code Online (Sandbox Code Playgroud)
这将是访问路由(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;
Run Code Online (Sandbox Code Playgroud)
然后在您的模块/应用程序的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
Run Code Online (Sandbox Code Playgroud)
因此,在初始化应用程序的位置,您将拥有已创建的所有单独模块,并将它们注册为应用程序的依赖项
| 归档时间: |
|
| 查看次数: |
2171 次 |
| 最近记录: |