Bom, tenho uma app AngularJS definindo um estilo de rotas aninhadas. Tenho dois módulos: XXX e YYY, onde YYY é uma dependência de XXX.
angular.module("XXX", ['YYY']);
No arquivo de configuração do módulo XXX defino um $stateProvider.state() que definirá os componentes basicos da tela. Além disso, o estado é abstrato.
// state definido no arquivo xxx.config.js
$stateProvider.state('site', {
abstract: true,
views: {
'navbar@': {
templateUrl: 'scripts/components/navbar/navbar.html',
controller: 'NavbarController'
},
'menu@': {
templateUrl: 'scripts/components/menu/menu.html',
controller: 'MenuController'
},
'hamburger@': {
templateUrl: 'scripts/components/menu/menu-hamburger.html',
controller: 'MenuController'
}
},
data: {
requireLogin: false,
hamburger: false,
menu: true
},
resolve: {
translatePartialLoader: ['$translatePartialLoader', function ($translatePartialLoader) {
$translatePartialLoader.addPart('global');
}
],
mainTranslatePartialLoader: ['$translate', function ($translate) {
return $translate.refresh();
}]
}
});
A função de configuração do meu módulo YYY define um estado abstrato, vinculando o estado XXX.site como parent, e outro estado concreto.
(function (angular) {
"use strict";
function PlenariaConfig($stateProvider) {
$stateProvider.state('plenaria', {
abstract: true,
parent: "site",
data: {
requireLogin: true,
hamburger: true,
menu: false
}
})
.state('plenaria.agendamento', {
url: '/lista',
views: {
'content@': {
templateUrl: 'scripts/app/plenaria/plenaria.tmpl.html',
controller : "PlenariaController"
}
},
permissions: {
only: ['GESTOR']
}
});
}
angular
.module('yyy', [])
.config(['$stateProvider', PlenariaConfig]);
}(angular));
Quando aciono o item de menu que me direciona para a rota plenaria.agendamento, o seguinte erro é exibido.
angular.js:12520 Error: Could not resolve 'plenaria.agendamento' from state 'site'
at Object.transitionTo (angular-ui-router.js:3140)
at Object.go (angular-ui-router.js:3068)
at angular-ui-router.js:4181
at angular.js:17918
at completeOutstandingRequest (angular.js:5552)
at angular.js:5829
Fato é que o arquivo yyy.config.js, onde é definido a declaração e configuração do módulo YYY está exatamente igual a outro arquivo FUNCIONAL do sistema. Alguém sabe me dar uma luz sobre isso?