2015-09-01 25 views
0

我有一個api模塊,它定義了一堆的子模塊searchcartapi模塊定義了一堆的所有子模塊可以使用的功能,但我不能得到這個工作因爲它給我一個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%3C-%20search%20%3C-%20api

回答

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**){ 
+0

看起來是因爲我在'api'中執行'this.search = search' –