2013-11-30 2 views
3

можно ли получить параметр ресурса от transformResponse функции?угловой - как получить параметр ресурса из пользовательского transformResponse

demoApp.factory('Social', function($resource) { 
    return $resource('api/social/:platform', { 
    platform: '@platform' 
    }, { 
    getAdmin: { 
     method: 'GET', 
     isArray: false, 
     transformResponse: function(resp) { 
     // so, can i get `platform` in line 3 from here? 
     return resp[platform]; 
     } 
    } 
    }); 
}); 

, как показано в коде выше, может я получить параметр platform из функции transformResponse?

ответ

2

'@platform' как параметр означает, что вы будете 'GET'ting url' api/social/'и помещать значение параметра платформы платформы возвращенных объектов в хранилище.

При вызове оставшихся неиспользуемых функций ресурса (по умолчанию «сохранить», «удалить», «удалить») ресурс $ будет изменять URL-адрес, заменив «: platform» на ранее сохраненное значение ,

Итак, поскольку вы находитесь в запросе получения, вы можете получить параметр точно так, как вы указали.

transformResponse: function(resp) 
{ 
    // so, can i get `platform` in line 3 from here? 
    console.log(resp.platform); // Yes you can 
    return resp[platform]; 
} 

ОДНАКО, так как данные возвращаются теперь resp.platform, параметр URL создается в resp.platform.platform ... Наверное, не то, что вы хотите, и я предполагаю, что источник того, что это не работает для вас.

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