使用来自父模块

时间:2015-09-01 21:02:03

标签: javascript angularjs

我有一个api模块,它定义了一堆子模块searchcart等。api模块定义了所有子模块的一堆函数可以使用,但我不能让它工作,因为它给了我Circular Dependency错误。

var app = angular.module('api', [
    'api.search'
]);

app.service('api', function($cookies, $http, $rootScope, search){
    var data = {
        user: {
            token: null,
            userid: null
        },
        baseurl: 'http://website.com'
    };
    this.search = search;
});

然后例如在我的搜索模块中我有这个:

var app = angular.module('api.search', []);

app.service('search', function($http, api){
    this.lookup = function(domain){
        var baseurl = getData('baseurl');
        return $http({
            url: baseurl + '/domain/search',
            method: 'post',
            data: {domain: domain}
        });
    };
});

当我像上面那样注入api时,就是当我收到Circular Dependency错误时:

https://docs.angularjs.org/error/ $注射器/ CDEP?P0 = API%20%3 C-%20search%20%3 C-%20api

1 个答案:

答案 0 :(得分:0)

您正在将搜索服务注入api服务,并将api服务注入搜索服务。

app.service('api', function($cookies, $http, $rootScope, **search**){
app.service('search', function($http, **api**){

你必须选择其中一个。目前,它只是重新注入彼此,直到抛出错误。您只需要解决其中一项服务:

app.service('api', function($cookies, $http, $rootScope){
app.service('search', function($http, **api**){