Можно определить угловой $resource
, который всегда имеет одинаковые значения по умолчанию при создании с помощью new()
?
Например, если я следующее определение ресурса:
var Drawer = $resource('/drawer/:drawerId', { drawerId: '@id'});
И объект Выдвижной ящик должен иметь свойство «носки», что я хочу быть всегда инициализируется как пустой массив []
, и, возможно, некоторые другие например, «timesOpened» - 0, или что-то вроде этого.
Единственный способ сделать это было бы как:
var newDrawer = new Drawer({ socks: [], timesOpened: 0});
Я думал об определении в той же службе у меня есть для моего ресурса (назовем его drawerService
) по умолчанию/объект инициализации, как это:
defaultDrawer = { socks: [], timesOpened: 0};
А затем при создании ресурса:
//New drawer with defaults
var newDrawer = new drawerService.Drawer(drawerService.defaultDrawer);
//New drawer with defaults and some other initialization
var anotherDrawer = new drawerService.Drawer(angular.extend(drawerService.defaultDrawer, {material: 'plastic'});
Это единственный способ сделать это?
Эй @ kanzelm3, жаль не приходить сюда раньше. Таким образом, ваш ответ - это улучшенная и более чистая версия того, что я опубликовал :) Мне это нравится, но я собираюсь оставить это немного больше времени, на всякий случай, если появится другая идея. Если нет, я помету ваш ответ как исправьте! Большое спасибо! –