directives - Parámetro de fábrica de AngularJS
ng-attr-title (3)
Estoy tratando de enviar un parámetro a un servicio angularjs. Aquí está mi código de servicio:
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
}
})
});
En mi controlador tengo esto:
function IndexCtrl($scope,Facedetect) {
$scope.text = Facedetect.query();
}
¿Cómo puedo enviar el imageurl a mis servicios desde el controlador? Algo como esto
function IndexCtrl($scope,Facedetect) {
$scope.text = Facedetect.query(''MY IMAGE URL'');
}
De antemano gracias.
Con más investigación encontré una solución:
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});
}
No sé si es la mejor manera pero funciona.
Puedes escribir tu fábrica de esta manera
app.factory(''Facedetect'',function($resource) {
return {
query: function(image_url) {
return $resource(''skyBiometry/facedetect'', {}, {
query: { method: ''GET'', params: {imageUrl:image_url}, isArray: false }
}).query();
}
}
});
Ahora en tu controlador puedes escribir
function IndexCtrl($scope, Facedetect) {
$scope.text = Facedetect.query("YOUR/IMAGE/URL");
}
Si entiendo correctamente, quieres algo así:
app.factory(''myFactory'',function(){
return{
prop: '''',
setProp: function(newProp){
this.prop = newprop;
}
}
});
Deberías ver esto:
https://egghead.io/lessons/angularjs-providers
Y lee esto: