2014-06-13 23 views
7

Özel bir yöntem eklemek istediğim dekupled Restangular hizmetim var. Varsayılan olarak bir koleksiyonda döndürülen tek yöntem, getList, one ve post. Locations.getLongLat()Düzenli bir hizmete nasıl özel bir yöntem eklerim?

Yapmak istediğim Şanssız bir şekilde hizmetimi eklemeye çalıştım (yöntem nesneye bağlı değil) ve yanıt olarak undefined is not an object aldım.

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'); 
}) 

Herhangi bir fikri olan var mı?

cevap

3

Herkesin bunu nasıl çözdüğümü merak ettiyse - bir servisin yanında özel yöntemler aslında Restangular ana dalında desteklenmiyor. Çağrı servisi, öntanımlı olarak koleksiyonun ve buna uygulanan tüm özel yöntemleri geçersiz kılar.

Çözmek için özel yöntemleri desteklemek üzere toService işlevini geçersiz kıldım.

+3

Bunun için bir çekme talebi yaptınız mı? Birleştirilmiş – Howie

+0

Hey David almak için gerçekten yararlı olurdu, Github bağlantı artık çalışmıyor. Elde ettiğin şeye ihtiyacım var. Bağlantıyı günceller misiniz lütfen? – code90

+1

Link artık işe yaramıyor, en iyisi sadece cevabı burada yayınlamak, böylece her zaman burada, dış bağlantıların yok olmasına neden olabilir. –

İlgili konular