让我们考虑以下“项目”模块。
服务
angular.module('srvc.projects',[]).factory('Projects_fctr',function($resource){
return $resource('api/projects/:id',{id:'@_id'},{
update: { method: 'PUT' },
query: { method: 'GET', isArray: true },
create: { method: 'POST'}
});
});
和以下控制器
Projects_fctr.query( function (data) {
if (!data.error) {
$scope.projects = data;
notify({ messageTemplate: $scope.notifyMsg.ReS, classes: 'alert-success', duration: 3000});
} else {
notify({ messageTemplate: $scope.notifyMsg.ReE, classes: 'alert-warning'});
}
});
两者都很好。
我注意到如果我想创建一个“客户”模块,我必须复制上述所有代码并将引用从“项目”更改为“客户”。
结果是具有相同服务/控制器的多个“版本”,每个模块一个。
有没有办法制作干货服务&可以由“任何”模块使用的控制器。它确实会减少所需的代码量。
我也在使用ui-router。
有什么想法吗?