2016-12-08 5 views
0

У меня есть службы:Service Функция не распознается

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', что бы это ни было, а не' AddSknownPeersService'. – rob

+0

@RobertOliveira Да, но не знаю, почему это происходит. –

ответ

0

Вы ничего не возвращаете в свои службы. Чтобы исправить это, просто верните переменную «addSknownPeersService», тогда вы сможете использовать функции из вашего сервиса.

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

Nope. Не работает. Такая же ошибка. У меня уже был ответ возврата. Добавлено другое возвращение также, но не работает. –

+0

Можете ли вы публиковать объявления своего контроллера, где вы вводите ваши зависимости? –

+0

Я получил код в контроллере и исправил его. Не удалось получить его из службы. –

Смежные вопросы