我创建了两个相同应用程序的angularjs模块。如何从模块A调用模块B中声明的状态x?你有什么想法或解决方法吗?
以这种方式调用状态x
$state.go('x')
来自模块A的,它未被发现
答案 0 :(得分:3)
// This is your parent module
var app = angular.module('app', [
'ui.router',
// Application modules
'moduleA',
'moduleB'
]);
// This is your child module 1
var moduleA = angular.module('moduleA', ['ui.router']);
moduleA.config(['$stateProvider', function($stateProvider) {
$stateProvider
.state('moduleA', {
url: '/route1',
controller: 'moduleAController',
template: "<div>Test</div>"
});
}]);
// This is your child module 2
var moduleB = angular.module('moduleB', ['ui.router']);
moduleB.config(['$stateProvider', function($stateProvider) {
$stateProvider
.state('moduleB', {
url: '/route2',
controller: 'moduleBController',
template: "<div>Test</div>"
});
}]);
说明 - 使用此方法,您将拥有一个包含2个子模块的父模块。可以在这3个模块中使用子模块服务,控制器和指令,而无需任何依赖注入。