小编Joh*_*son的帖子

使用默认值创建新的Angular $资源?

可以在创建时定义一个$resource始终具有相同默认值的Angular new()吗?

例如,如果我有以下资源定义:

var Drawer = $resource('/drawer/:drawerId', { drawerId: '@id'});
Run Code Online (Sandbox Code Playgroud)

Drawer对象需要有一个"socks"属性,我希望它始终被初始化为一个空数组[],也许还有一些其他像'timesOpened'到0,或类似的东西.

这样做的唯一方法是:

var newDrawer = new Drawer({ socks: [], timesOpened: 0});
Run Code Online (Sandbox Code Playgroud)

我正在考虑在我的资源(我称之为drawerService)中使用相同的服务定义一个默认/初始化对象,如下所示:

defaultDrawer = { socks: [], timesOpened: 0};
Run Code Online (Sandbox Code Playgroud)

然后在创建资源时:

//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'});
Run Code Online (Sandbox Code Playgroud)

这是唯一的方法吗?

javascript angularjs ngresource

16
推荐指数
1
解决办法
1126
查看次数

标签 统计

angularjs ×1

javascript ×1

ngresource ×1