2016-03-26 12 views
0

ここでクーポンはコントローラからのng-model渡しパラメータです。私は応答データを取得します。私は工場からサービスにこの応答を得る方法を知らない。 factmoduleがservctrlから独立したモジュールであるならば、あなたはfactmoduleを注入する必要があるrestapiのサービスからファクトリへのデータの取得方法

私を助けてください..

var factmodule=angular.module("FactModule",["ngResource"]); 
factmodule.factory("CouponFactory",function($resource){ 

    var couponinfo; 
    var coupondata 
    return{ 
    getcoupon:function(coupon){ 

     var user=$resource("http://demo.foodzard.in/api/promocode?code="+coupon.offer); 
     user.get(function(data){ 

      couponvalue=data 
      console.log(data); 
      return couponvalue; 

     }) 


    }   
} 
}) 

サービスコード

var servctrl=angular.module("ServModule",["FactModule"]); 
servctrl.service("CouponService",function(CouponFactory){ 

this.checkdata=function(coupon){ 
    CouponFactory.getcoupon(coupon) 
} 
}) 

コントローラコード

// getting coupon code from ng-model in the text box 
mainCtrl.controller("OrderController",function($scope,CouponService){ 
$scope.validate=function($scope.coupon){ 
CouponService.checkdata($scope.coupon) 
    } 
}); 

答えて

0

角度モジュールの作成に関するservctrlへ

私がやっているだろうことは app.factory( "CouponFactory"、機能($リソース){... と app.service( "CouponService"、機能(ある

var servctl = angular.module('servctl', [  
 
     'factmodule']); 
 
})();

CouponFactory){

その後、彼らはを呼び出すことを認識することが重要である同じモジュール内にあり、

+0

私はすでにサービスにfactmoduleを挿入しています。ここではプロペルムは注射ではない。工場からのクーポン価値を得る。 – SrinivasAppQube

0

到達可能になります10オブジェクトメソッドはすぐに空の参照(オブジェクトまたは配列isArrayに応じて)を返します。データがサーバーから戻されると、既存の参照に実際のデータが取り込まれます。 1

return couponvalue;文が$qサービスが将来ではすぐはデータを返しません実行ファクトリ関数を呼び出す関数内で発生しているため。

代わりに空のユーザー参照を返し、その$promiseプロパティを使用してデータを取得します。

var factmodule=angular.module("FactModule",["ngResource"]); 

factmodule.factory("CouponFactory",function($resource){ 

    var couponinfo; 
    var coupondata 
    return { 
     getcoupon:function(coupon){ 

      var user=$resource("http://demo.foodzard.in/api/promocode?code="+coupon.offer); 

      //return object reference 
      return user.get(); 
     }   
    } 
}) 

$qサービスからデータを取得するために$promiseプロパティを使用します。

var servctrl=angular.module("ServModule",["FactModule"]); 

servctrl.service("CouponService",function(CouponFactory){ 

    this.checkdata=function(coupon){ 
     return resourceObject = CouponFactory.getcoupon(coupon); 
     //retrieve future data 
     resourceObject.$promise.then(onFullfilled(data) { 
      var couponvalue=data; 
      console.log(data);     
     }); 
    }); 
}); 

約束の.then方法は、関数を引数として取ります。 $qサービスはその機能を保存し、XHRが完了するとを将来的にに呼び出します。

関連する問題