:
Resource , factory ( $resource ) $resource.
(, , , , )
function Resource(value) { ... }
Resource.prototype.toJSON = function () { ... }
Resource.prototype.bind = function () { ... }
- ,
$resource 3 ( ), Resource, , update , .
update :
{
'get': {method: 'GET'},
'save': {method: 'POST'},
'query': {method: 'GET', isArray: true},
'remove': {method: 'DELETE'},
'delete': {method: 'DELETE'},
update: { method: 'PUT' }
}
$resource Resource, Resource, $ , ..
Resource.get = function () { ... }
Resource.save = function () { ... }
Resource.update = function () { ... }
...
Resource.prototype.$get = function () { ... }
Resource.prototype.$save = function () { ... }
Resource.prototype.$update = function () { ... }
...
, , MyObject MyObjectResource, MyObjectResource $resource, Resource, , coffeescript extend , MyObjectResource MyObject, [[Prototype]] MyObject.prototype MyObjectResource.prototype:
MyObjectResource
prototype -------> MyObjectResource.prototype
$get
get $save
save toJSON
... ...
^
|
MyObject |
prototype -------> MyObject.prototype
get (reference) someMethod
set (reference)
...
, MyObject.get, MyObjectResource.get, MyObject.get === MyObjectResource.get
, MyObject.get, MyObjectResrouce ( , , MyObject.get this MyObjectResource Source), new MyObjectResource(), someMethod, "".
MyObject - , coffeescript extend, get MyObjectResource.prototype.$get, :
var instance = new MyObject()
instance.$get({id: 1});
instance.someMethod();