AngularJS工厂参数
我正在尝试向angularjs服务发送一个参数。这是我的服务代码:AngularJS工厂参数,angularjs,angularjs-factory,Angularjs,Angularjs Factory,我正在尝试向angularjs服务发送一个参数。这是我的服务代码: angular.module('skyBiometryServices', ['ngResource']) .factory('Facedetect', function( $resource ) { return $resource('skyBiometry/facedetect', {}, { query: { method : 'GET', param
angular.module('skyBiometryServices', ['ngResource'])
.factory('Facedetect', function( $resource ) {
return $resource('skyBiometry/facedetect', {}, {
query: {
method : 'GET',
params : {imageUrl: "http://cdn1-public.ladmedia.fr/var/public/storage/images/dossiers/presidentielles-2012/les-news-sur-les-presidentielles-2012/exclu-public-cauet-pour-ces-presidentielles-personne-ne-me-fait-rever-209063/2064021-1-fre-FR/Exclu-Public-Cauet-Pour-ces-presidentielles-personne-ne-me-fait-rever-!_portrait_w674.jpg"},
isArray: false
}
})
});
在我的控制器中,我有:
function IndexCtrl($scope,Facedetect) {
$scope.text = Facedetect.query();
}
如何将imageurl从控制器发送到我的服务中?像这样的
function IndexCtrl($scope,Facedetect) {
$scope.text = Facedetect.query('MY IMAGE URL');
}
app.factory('Facedetect',function($resource) {
return {
query: function(image_url) {
return $resource('skyBiometry/facedetect', {}, {
query: { method: 'GET', params: {imageUrl:image_url}, isArray: false }
}).query();
}
}
});
提前谢谢。如果我理解正确,您想要这样的东西:
app.factory('myFactory',function(){
return{
prop: '',
setProp: function(newProp){
this.prop = newprop;
}
}
});
你应该看这个:
并阅读以下内容:
通过进一步研究,我找到了一个解决方案:
factory('Facedetect', function( $resource ) {
return $resource('skyBiometry/facedetect', {}, {
query: {
method : 'GET',
params : {imageUrl: "http://cdn1-public.ladmedia.fr/var/public/storage/images/dossiers/presidentielles-2012/les-news-sur-les-presidentielles-2012/exclu-public-cauet-pour-ces-presidentielles-personne-ne-me-fait-rever-209063/2064021-1-fre-FR/Exclu-Public-Cauet-Pour-ces-presidentielles-personne-ne-me-fait-rever-!_portrait_w674.jpg"},
isArray: false
}
})
});
function IndexCtrl( $scope, $routeParams, Facedetect ) {
$scope.imageurl = 'http://flepi.net/images/personne-tendue.jpg';
$scope.text = $scope.text = Facedetect.get({imageUrl: $scope.imageurl});
}
我不知道这是否是最好的方法,但它是有效的。你可以这样写你的工厂
function IndexCtrl($scope,Facedetect) {
$scope.text = Facedetect.query('MY IMAGE URL');
}
app.factory('Facedetect',function($resource) {
return {
query: function(image_url) {
return $resource('skyBiometry/facedetect', {}, {
query: { method: 'GET', params: {imageUrl:image_url}, isArray: false }
}).query();
}
}
});
现在,您可以在控制器中编写
function IndexCtrl($scope, Facedetect) {
$scope.text = Facedetect.query("YOUR/IMAGE/URL");
}
是的,但是要使用ngresources。有没有办法不将函数写进返回对象中?把它分开?如果我理解你的意思,你可以在return语句之外定义函数,让我们把它命名为
qfunc
,现在你可以这样做return{query:qfunc}代码>是的,但是参数呢?调用还是一样的,因为您刚刚移动了函数Facedetect.query(“您的/IMAGE/URL”)
您能在这里接受答案吗,谢谢