2016-12-08 12 views
0

を認識していない私は、このサービスを持っている:サービス機能が

function AddSuggestedPeersService($http, SITE_CONFIG) { 
    console.log("I come in Add Suggested Peers Service"); 

    var addSuggestedPeers = this; 

    addSuggestedPeers.addSuggPeer = function(peerID, mode) { 
     // a service 
     return response; 
    } 
} 

それから私はこのようなコントローラでこれを使用します。

peerHealthController.AddConfirm = function(peerID,mode,peerName){ 
     console.log("I come in Add Confirm"); 
     console.log("Peer ID =====" + peerID); 
     var confirmPopup = $ionicPopup.confirm({ 
      title: '', 
      cssClass : 'confirmBox', 
      templateUrl: 'peers/add_peer_confirmation.template.html', 
      buttons: [{ 
      text: 'NO, THANKS' 
      }, { 
      text: '<b>YES, PLEASE</b>', 
      type: 'button-yes', 
      onTap: function(e) { 
       e.preventDefault(); 
       return AddSuggestedPeersService.addSuggPeer(peerID,mode); 
      } 
      }] 
     }); 

     } 

それは言って、サービスに行くが、メソッドを呼び出すことはできませんが方法は存在しない。

ionic.bundle.js:26794 TypeError: AddSuggestedPeersService.addSuggPeer is not a function 
    at Object.onTap (peersLandingPage.controller.js:108) 
    at ChildScope.$buttonTapped (ionic.bundle.js:56771) 
    at fn (eval at compile (ionic.bundle.js:27638), <anonymous>:4:386) 
    at ionic.bundle.js:65427 
    at ChildScope.$eval (ionic.bundle.js:30395) 
    at ChildScope.$apply (ionic.bundle.js:30495) 
    at HTMLButtonElement.<anonymous> (ionic.bundle.js:65426) 
    at defaultHandlerWrapper (ionic.bundle.js:16787) 
    at HTMLButtonElement.eventHandler (ionic.bundle.js:16775) 
    at triggerMouseEvent (ionic.bundle.js:2953)(anonymous function) @ ionic.bundle.js:26794 

どのような構文がありますか?

+0

あなたは 'AddSuggPeer'を' AddSuggestedPeersService'ではなく 'thisS 'であれば何でも定義しているようです。 – rob

+0

@RobertOliveiraはい、どうしてそれが起こっているのかわかりません。 –

答えて

0

サービスで何も返されていません。これを修正するには、変数 'addSuggestedPeersService'を返すだけで、サービスの機能を使用できるようになります。

function AddSuggestedPeersService($http, SITE_CONFIG) { 
console.log("I come in Add Suggested Peers Service"); 

var addSuggestedPeers = this; 

addSuggestedPeers.addSuggPeer = function(peerID, mode) { 
    // a service 
    return response; 
} 
return addSuggestedPeers; 
} 
+0

動作しません。同じエラー。私はすでに返品対応をしていました。他のリターンも追加されましたが、動作しません。 –

+0

コントローラの宣言を投稿できますか?依存関係を注入する場所はどこですか? –

+0

私はコントローラのコードを取得し、それを修正しました。サービスからそれを得ることができませんでした。 –

関連する問題