我有一个项目,其中所有内容都是模块化的,在index.html上加载文件的顺序是:
app
|– client
| |– modules
| | |– products
| | | |– conditions
| | | | |- crud
| | | | |- conditions.module.js #6
| | | | └─ conditions.routes.js #7
| | | |– brands
| | | | |- crud
| | | | |- brands.module.js #4
| | | | └─ brands.routes.js #5
| | | |- crud
| | | |- products.module.js #1
| | | └─ products.routes.js #2
| | |- ...
问题是如果我在 products.routes.js 声明状态home.products.conditions
一切正常,我的意思是在 brand.routes.js声明的所有子状态工作,但如果我在 conditions.routes.js 之前在所有孩子之前声明home.products.conditions
,那么某些路线,特别是home.products.conditions.create
不起作用!同样适用于home.products.brands
有什么想法吗?
这是我注册状态的方式:
(function () {
'use strict';
angular
.module( 'app.products' )
.constant( 'states', getRouteStates() )
.config( [ '$stateProvider', '$urlRouterProvider', 'states', stateConfigurator ] );
function stateConfigurator( $stateProvider, $urlRouterProvider, states ) {
states.forEach( function ( state ) {
$stateProvider.state( state.name, state.config );
} );
$urlRouterProvider.otherwise( '/' );
}
function getRouteStates() {
return [
{
name: 'home.products.create',
config: {
url: '/nuevo',
views: {
'dashboard-heading@': {
template: '<b>Completar el formulario</b>'
},
'dashboard-body@': {
templateUrl: './modules/purchases/products/create-product/create-product.form.html',
controller: 'CreateProductController',
controllerAs: 'vm'
}
}
}
},
{
name: 'home.products.list',
config: {
url: '/listado',
views: {
'dashboard-heading@': {
template: '<b>Lista de Productos</b>'
},
'dashboard-body@': {
templateUrl: './modules/purchases/products/read-product/products-list.view.html',
controller: 'ReadProductController',
controllerAs: 'vm'
}
}
}
}
];
}
})();