Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   подключение ресурсов (https://javascript.ru/forum/angular/42606-podklyuchenie-resursov.html)

jsru_ 02.11.2013 21:39

подключение ресурсов
 
Как исходя из значения паременной обратиться к тому или иному ресурсу, например, если у переменной значение
$param = "flats", то и сделать запрос через Flats.query, а если $param = "cars", то через Cars? На данный момент я подключаю ресурсы через параметры функции контроллера, есть ли возможность написать функцию, которая возвращает нужный ресурс в зависимости от переданного параметра, например getResource("cars"); и эта функция возвращает ресурс Cars

DjDiablo 03.11.2013 03:25

Для начала вот такой топорный вариант.
Пример из реального приложения, ресурсы создаются по мере надобности только на основании имени.
В рамках моих задач решение меня устраивает полностью, в твоем случае не знаю подойдет ли.

//обьявление
resource.factory("recordResource", function ($resource) {    

    return function(name){
 	   return $resource('/document/:operation/:name/', {
                   name:name
            },{  
                   'get':  {method:'GET',params:{operation:'get'} },
                   'save': {method:'POST', params:{operation:'save'} }                   
                   //....
        });
                
    }
});

//использование
//можно указаnь часть параметров еще до вызова get. В примере я указал имя сущности (user) на сервере с которой я хочу взаимодействовать.
a=recordResource('user');  

//получим данные из user
a.$get({id:10},function(){ 

})



Как альтернатива фабрика возвращающий сервисы
Конечно придется перечислить все возвращаемые сервисы в параметрах функции фабрики, но зато все это будет перечислено в одном месте. Вроде бы особых препятствий я не вижу, но возможно я что то упустил из виду. Нужно пробывать короче.


Часовой пояс GMT +3, время: 12:59.