2014-06-13 17 views
7

Ho un servizio Restangular disaccoppiato a cui desidero collegare un metodo personalizzato. Sembra che gli unici metodi restituiti per impostazione predefinita su una raccolta siano getList, one e post. Mi piacerebbe fare Locations.getLongLat()Come si aggiunge un metodo personalizzato a un servizio Restangular?

Ho provato ad aggiungere il seguente al mio servizio senza fortuna (il metodo non è legato all'oggetto) e ottengo solo undefined is not an object in risposta.

angular.module('myApp') 
.factory('Locations', function (Restangular) { 

    return Restangular.withConfig(function (RestangularConfigurer) { 
     RestangularConfigurer.addElementTransformer('api/v1/locations', true, function (location) { 
      location.addRestangularMethod('getLongLat', 'get', 'longlat'); 
      return location; 
     }); 
    }).service('api/v1/locations'); 
}) 

Qualcuno ha qualche idea?

risposta

3

Nel caso in cui qualcuno si chiedesse come ho risolto questo problema, i metodi personalizzati insieme a un servizio non sono attualmente supportati nel ramo principale di Restangular. Il servizio di chiamata semplicemente sostituirà la raccolta e tutti i metodi personalizzati applicati prima con i valori predefiniti.

Per risolvere Ho ignorato la funzione toService per supportare i metodi personalizzati.

+3

Hai fatto una richiesta di pull per questo? Sarebbe davvero utile per unire – Howie

+0

Ehi David, il link github non funziona più. Ho bisogno di ciò che hai raggiunto. Potresti aggiornare il link? – code90

+1

Link non funziona più, meglio solo pubblicare la risposta qui, in modo che sia sempre qui, perché i link esterni possono scomparire. –

Problemi correlati