AngularJS : Zugriff auf gespeicherte Daten, die in einer Fabrik nach einem $http-Aufruf

Ich versuche, eine Fabrik zu bauen, zu handeln als staging-Bereich für meine Datenbank-Modelle, als auch eine api zum ausführen von grundlegenden CRUD-Anrufe. Ich möchte Zugriff auf die Daten durch Speicherung in einem Dienst oder einem Werk, und halten Sie api-Methoden zusammen mit ihm, so kann ich Aktionen wie diese in den controller.

$scope.folders =  Folders.data(); //for a factory
$scope.folders = Folders.data; //for a Service

Folders.create({name: "My Stuff, $oid: { 5fwewe033333 }, user_id: CurrentUser.id"});

Derzeit bin ich mit der Ordner-Fabrik wie dieser in die controller.

Folders.foldersData().success( function(data, status) {
   $scope.folder = data;
})
.error( function(data,status) {
   Flash.warning("There was a problem fetching your data");
});

Ich weiß, ich kann nur ein Versprechen, gelöst in der Steuerung, aber mit der Größe des Projekts an dem ich arbeite, ich mag die Idee, den Zugriff auf die Ordner model in einem service, mit aus mit, um einen server aufrufen, um die Daten synchronisieren jedes mal, wenn ich eine änderung vornehmen.

angular.module('cmsApp')
  .factory('Folders', function($http, $q){

    var folders = {};
    var messageWarn = "Upload Retrival Failed.";


    return {
      get: function(){
        var defered = $q.defer();

        $http.get('/folders').success( function ( data, status ) {
          defered.resolve(data);
        })
        .error( function ( data, status ) {
          defered.reject();
          Flash.warning(message_warn);
        });
        defered.promise.then( function (promise)
          folders = promise;
        });
      }, 
      data: function (){
      return folders;
    },
  }               
});

Mein problem ist, dass ich nicht halten kann die Ordner-Objekt bestehen bleiben, nachdem ich call-Ordner.get(). Es kommt immer wieder nachdem ich call-Ordner.Daten() als ein leeres Objekt.

Gibt es einen Weg, um diese Daten gespeichert, in die Fabrik als eine up-to-date Darstellung der Ordner-Modell ist nicht davon abhängig, schlagen die server zu jeder Zeit?

Läuft eckige 1.2.3, auf Schienen 4 API.

  • Ja, ich mache ein Beispiel. Ich denke, die Hauptsache ist, du bist verwirrt, ist, dass sich eine Fabrik erstellt einen Dienst und dann ist fertig. Können Sie keinen Zugang zu der Fabrik, sozusagen. Sie nur Dienste.
InformationsquelleAutor armynante | 2014-01-28
Schreibe einen Kommentar