AngularJS: fabrik $ http service
Ich versuche zu verstehen, das Konzept der Fabrik und service in Winkel. Ich habe den folgenden code unter dem controller
init();
function init(){
$http.post('/services', {
type : 'getSource',
ID : 'TP001'
}).
success(function(data, status) {
updateData(data);
}).
error(function(data, status) {
});
console.log(contentVariable);
};
function updateData(data){
console.log(data);
};
Dieser code funktioniert einwandfrei. Aber wenn ich mich bewege, $http-service in die Fabrik, ich bin nicht in der Lage, um die Daten zurück zu controller.
studentApp.factory('studentSessionFactory', function($http){
var factory = {};
factory.getSessions = function(){
$http.post('/services', {
type : 'getSource',
ID : 'TP001'
}).
success(function(data, status) {
return data;
}).
error(function(data, status) {
});
};
return factory;
});
studentApp.controller('studentMenu',function($scope, studentSessionFactory){
$scope.variableName = [];
init();
function init(){
$scope.variableName = studentSessionFactory.getSessions();
console.log($scope.variableName);
};
});
Gibt es einen Vorteil, mit der Fabrik, da $http funktioniert auch unter controller
InformationsquelleAutor der Frage de-bugged | 2013-04-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Zweck, dass Ihre
studentSessions
Dienst von der Steuerung zu erreichen, Trennung von Bedenken. Ihr service-Auftrag ist, zu wissen, wie sprechen Sie mit dem server und der controller hat die Aufgabe, die Umsetzung zwischen Anzeige von Daten und server-Daten.Aber Sie sind verwirrend, Ihre asynchrone Handler und was ist wieder was. Der controller muss noch sagen, der service was zu tun ist, wenn die Daten später empfangen...
InformationsquelleAutor der Antwort Brian Genisio
Die erste Antwort ist Super, aber vielleicht können Sie das verstehen:
Dann:
InformationsquelleAutor der Antwort Robert LUgo