È possibile definire un numero angolare $resource
che ha sempre gli stessi valori predefiniti alla creazione con new()
?
Per esempio, se ho la seguente definizione di risorsa:
var Drawer = $resource('/drawer/:drawerId', { drawerId: '@id'});
E l'oggetto cassetto ha bisogno di avere una proprietà "calzini" che voglio essere sempre inizializzato come un array vuoto []
, e forse alcuni altri come 'timesOpened' a 0, o cose del genere.
L'unico modo per farlo sarebbe come:
var newDrawer = new Drawer({ socks: [], timesOpened: 0});
stavo pensando a definire nello stesso servizio che ho per la mia risorsa (chiamiamolo drawerService
) un oggetto predefinito/inizializzazione in questo modo:
defaultDrawer = { socks: [], timesOpened: 0};
E poi quando si crea la risorsa:
//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'});
È questo l'unico modo per farlo?
Hey @ kanzelm3, mi dispiace per non venire qui in precedenza. Quindi la tua risposta è una versione migliorata e più pulita di ciò che ho postato :) Mi piace, ma lascerò questo tempo un po 'di più nel caso in cui altre idee vi entrino. Se no, segnerò la tua risposta come correggi uno! Grazie mille! –