2016-10-19 21 views
0

他のサービスフォームを現在のサービスと呼ぶことはありますか?サービス機能から別のサービス機能を呼び出す

/の工場/

app.service('p3call',function($http,$rootScope){ 
return { 
    getRepairCategory:function(url){ 
     $http.post(url) 
     .success(function (response){ 
      generatePaginationData(response); 
     }); 
    }, 
    deleteRepairCategory:function(request,url){ 
     $http.post(url,request) 
     .success(function (response){ 
      generatePaginationData(response) 
     }); 
    }, 
    generatePaginationData:function(response){ 
     var pages = []; 
     $rootScope.categories = response.data; 
     $rootScope.currentPage = response.current_page; 
     $rootScope.totalPages = response.last_page; 
     for(var i=1;i<=response.last_page;i++) {   
      pages.push(i); 
     } 
     $rootScope.range = pages; 
    } 
}; 
}); 

/の工場/

答えて

0

はい、それは完全に可能です:

app.service('p3call',function($http,$rootScope, myOtherService){ 
    return { 
     getRepairCategory:function(url){ 
      ... 
     }, 
     deleteRepairCategory:function(request,url){ 
      ... 
     }, 
     generatePaginationData:function(response){ 
      ... 
     } 
     myFunction(){ 
      myOtherService.newFunction(); 
     } 
    }; 
}); 

ちょうどあなたのサービスを注入し、それを使用しています。

+0

を参照してくださいが、私はhttpリクエストの成功の後getRepairCategoryとdeleteRepairCategory機能の両方からgeneratePaginationData関数を呼び出したいサービスのthisリファレンスを使用してみてください。 – Jishad

+0

申し訳ありませんが、それを見ていませんでした。そのために私はあなたのような別の質問にあなたをリダイレクトすることができますhttp://stackoverflow.com/q/19842669/6691908しかし、再開すると、 'this'を使ってみることができますか? –

0

app.service('p3call',function($http,$rootScope){ 
var this = this; 
return { 
    getRepairCategory:function(url){ 
     $http.post(url) 
     .success(function (response){ 
      this.generatePaginationData(response); 
     }); 
    }, 
    deleteRepairCategory:function(request,url){ 
     $http.post(url,request) 
     .success(function (response){ 
     this.generatePaginationData(response) 
     }); 
    }, 
    generatePaginationData:function(response){ 
     var pages = []; 
     $rootScope.categories = response.data; 
     $rootScope.currentPage = response.current_page; 
     $rootScope.totalPages = response.last_page; 
     for(var i=1;i<=response.last_page;i++) {   
      pages.push(i); 
     } 
     $rootScope.range = pages; 
    } 
}; 
}); 
+0

は 'this'または' self'を使います。 – Sravan

+0

@JpDevs、それを試してみましたか? – Sravan

関連する問題