如何调用另一个角度模块中声明的ui-router状态

时间:2015-06-10 18:10:41

标签: javascript angularjs angular-ui-router

我创建了两个相同应用程序的angularjs模块。如何从模块A调用模块B中声明的状态x?你有什么想法或解决方法吗?

以这种方式调用状态x

$state.go('x') 
来自模块A的

,它未被发现

1 个答案:

答案 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个模块中使用子模块服务,控制器和指令,而无需任何依赖注入。