[英]How do I pass parameters to an Angular service?
我有一个Angular服务:
angular.module('transactionService', ['ngResource']).
factory('Transaction', function($resource){
return $resource('/api/transaction/:transactionId', {}, {
'query': {method:'GET', params:{transactionId : ''}, isArray : true},
'get': {method:'GET', params:{transactionId : '@_id.$oid'}, isArray : false},
'save': {method:'POST', params:{transactionId : ''}, isArray : false},
'update': {method:'PUT', params:{transactionId : '@_id.$oid'}, isArray : false},
});
});
我称之为:
transaction = {
_id : { $oid : '20495823405984059' }
}
Transaction.update(transaction, function(d) {});
但是它获取URL:
/api/transaction/@_id.$oid
代替:
/api/transaction/20495823405984059
该文档显示这是传递参数的正确方法,但不会进行插值。 我究竟做错了什么?
尝试:
angular.module('transactionService', ['ngResource']).
factory('Transaction', function($resource){
return $resource('/api/transaction/:transactionId', {}, {
'query': {method:'GET', params:{transactionId : ''}, isArray : true},
'get': {method:'GET', params:{transactionId : '@transactionId'}, isArray : false},
'save': {method:'POST', params:{transactionId : ''}, isArray : false},
'update': {method:'PUT', params:{transactionId : '@transactionId'}, isArray : false},
});
});
这样称呼它:
transaction = {
transactionId : '20495823405984059' //your problem is the key transactionId is missing
}
Transaction.update(transaction, function(d) {});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.