如何扩展 AngularJS 资源
How to extend AngularJS resource
要将 json 对象 属性 从字符串调整为日期以抑制 AngularJS 警告,日期输入的 datefmt 错误。
问题是:下面的代码可以实现,但是有点难看,有没有更漂亮的实现?
'use strict';
var ahbHotelService = angular.module('ahbHotelService',['ngResource']);
ahbHotelService.factory('Hotel',['$resource',function($resource){
var AHBHotel = $resource('/api/hotel/:id',{},{
query:{method:'GET',params:{id:''},isArray:true}
});
var protoGet = AHBHotel.get;
AHBHotel.get = function(params){
var result = protoGet(params);
result.$promise.then(function(){
result.created = new Date(result.created);
});
return result;
};
return AHBHotel;
}]);
'use strict';
var ahbHotelService = angular.module('ahbHotelService',['ngResource']);
ahbHotelService.factory('Hotel',['$resource',function($resource){
return $resource('/api/hotel/:id',{},{
query:{method:'GET',params:{id:''},isArray:true},
get:{
method:'GET',
transformResponse:function(data,headers){
var obj = JSON.parse(data);
if(obj.created)obj.created = new Date(obj.created);
return obj;
}
}
});
}]);
要将 json 对象 属性 从字符串调整为日期以抑制 AngularJS 警告,日期输入的 datefmt 错误。 问题是:下面的代码可以实现,但是有点难看,有没有更漂亮的实现?
'use strict';
var ahbHotelService = angular.module('ahbHotelService',['ngResource']);
ahbHotelService.factory('Hotel',['$resource',function($resource){
var AHBHotel = $resource('/api/hotel/:id',{},{
query:{method:'GET',params:{id:''},isArray:true}
});
var protoGet = AHBHotel.get;
AHBHotel.get = function(params){
var result = protoGet(params);
result.$promise.then(function(){
result.created = new Date(result.created);
});
return result;
};
return AHBHotel;
}]);
'use strict';
var ahbHotelService = angular.module('ahbHotelService',['ngResource']);
ahbHotelService.factory('Hotel',['$resource',function($resource){
return $resource('/api/hotel/:id',{},{
query:{method:'GET',params:{id:''},isArray:true},
get:{
method:'GET',
transformResponse:function(data,headers){
var obj = JSON.parse(data);
if(obj.created)obj.created = new Date(obj.created);
return obj;
}
}
});
}]);