使用角度js中的外部模块服务解析状态

时间:2015-12-02 14:07:58

标签: javascript angularjs

我在module1中创建了一个工厂:

angular.module('module1',[]);
angular.module('module1').factory('factory1', function($resource, $q){
  return 'prmose response';//This will include promise
});

我想调用此工厂来解决在module2中创建的状态:

angular.module('module2',['module1']);
angular.module('module2').config(['$stateProvider', function($stateProvider){
  $stateProvider.state('stateName',{
    url: '/url',
    templateUrl: '/url/path.html',
    controller: 'controllerName',
    reolve:{
      data: function(factory1){
        return factory1;
      }
    }

  })
}])

当我使用来自module2的服务时,它可以工作,但在使用来自其他模块的任何服务时它无法正常工作。

请小时帮我解决这个问题。

提前谢谢

1 个答案:

答案 0 :(得分:0)

当你有两个模块时,你可以在模块A中依赖模块B

公开所有服务,指令,工厂等。

你只是做

angular.module('A', ['b'])

这意味着您正在创建一个名为A的模块。数组之后是模块A所需的依赖项列表。只要所有这些依赖项都已包含在页面上(我相信在您的模块A之前),那么它将全部工作并允许您从每个依赖项中注入内容。

//pseudo example
angular.module('B', [])
.service('myService', function () {
    this.hey = function () {
        console.log('You guys!');
    }
});
angular.module('A', ['B'])
.controller('test', function ($scope, myService) {
    myService.hey()' //You guys!
});

列出了有关该主题的一些有用信息:https://docs.angularjs.org/guide/module