Angularjs 在同一文件中声明路由状态时,路由状态无法正常工作
我有一个项目,其中所有内容都是模块化的,在index.html加载文件的顺序是:Angularjs 在同一文件中声明路由状态时,路由状态无法正常工作,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我有一个项目,其中所有内容都是模块化的,在index.html加载文件的顺序是: app |– client | |– modules | | |– products | | | |– conditions | | | | |- crud | | | | |- conditions.module.js #6 | | | | └─ conditions.routes.js #7 | | | |– brands | | | | |- crud |
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上声明statehome.products.conditions
,一切正常,我的意思是brand.routes.js上声明的所有子州都正常工作,但是如果我在conditions.routes.js上声明home.products.conditions
,首先是childs,有些路线,特别是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'
}
}
}
}
];
}
})();
(函数(){
"严格使用",;
有棱角的
.module('app.products')
.constant('states',getRouteStates())
.config(['$stateProvider','$urlRouterProvider','states',stateConfigurator]);
函数StateConfigulator($stateProvider,$urlRouterProvider,states){
states.forEach(函数(状态){
$stateProvider.state(state.name,state.config);
} );
$urlRouterProvider。否则('/');
}
函数getRouteStates(){
返回[
{
名称:“home.products.create”,
配置:{
url:“/nuevo”,
观点:{
“仪表板标题@”:{
模板:“Completar el formulario”
},
“仪表板主体@”:{
templateUrl:“./modules/purchases/products/create product/create product.form.html”,
控制器:“CreateProductController”,
controllerAs:'vm'
}
}
}
},
{
名称:“home.products.list”,
配置:{
url:“/listado”,
观点:{
“仪表板标题@”:{
模板:“Lista de Productos”
},
“仪表板主体@”:{
templateUrl:“./modules/purchases/products/read product/products list.view.html”,
控制器:“ReadProductController”,
controllerAs:'vm'
}
}
}
}
];
}
})();
Angular不依赖于文件结构,因此它完全不相关。捆绑过程中发生了一些错误,您似乎遗漏了任何有价值的信息。@estus好的,您想了解该应用程序的哪些信息?我真的不知道还需要发布什么,我不理解这个问题,并且没有错误输出…您发布的代码看起来还可以。我想,当问题可以重现时,您可以将其剥离到最低限度,然后发布捆绑脚本。普朗克也不会受伤。当一个人这样做的时候,他自己解决了问题,这并不少见。